我是靠谱客的博主 土豪睫毛膏,这篇文章主要介绍python序列:字符串,现在分享给大家,希望可以做个参考。

1.字符串是一种直接量或者说是一种标量,字符串是不可变类型,简单来说改变一个字符串的元素就等需要新建一个新的字符串。当然,通过拼凑各个部分得到一个新的字符串也还是可以的

注意:python的字符串并不是以作为结束符的

复制代码
1
2
3
4
>>> astring="Hello world" >>> astring=astring[:6]+'python' >>> astring 'Hello python'

2.Pyhton实际上有三类字符串,通常意义下的为字符串str和unicode字符串实际上是抽象类basestring的子类,这个basestring是不能是不能实例化的,如果妄图实例化,那么

复制代码
1
2
3
4
>>> basestring('foo') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: The basestring type cannot be instantiated

3.如果你想要删除字符串的一个元素,由于字符串是不可变的,所以你不能仅仅只是删除字符串中的某个元素,不过可以通过拼凑的方法来间接到达要求

复制代码
1
2
3
4
>>> astring='Hello world' >>> astring=astring[:3]+astring[4:] >>> astring 'Helo world'

当然我么也可以通过赋一个空字符串或者使用del语句来清空或者删除一个字符串
4.字符串做对比的时候是按照ASCII码的值的大小来比较的
5.成员操作符(in ,not in)用来判断一个字符或者一个子串是否会出现在另一个字符串中

复制代码
1
2
3
4
5
>>> astring="Hello world" >>> "h" in astring False >>> "H" in astring True

6.for 循环的else语句是一个可选项,它只在for循环完整的结束,没有遇到break时执行

复制代码
1
2
3
4
5
6
7
8
这是没有遇到break,执行了后面的else语句 >>> for i in astring: ... print i, ... else: ... print "nBingo" ... H e l o w o r l d Bingo

7.字符串对象的方法

复制代码
1
2
3
4
5
6
7
8
>>> s.upper() 'HELLO PYTHON' >>> s.lower() 'hello python' >>> s.capitalize() #首字母大写 'Hello python' >>> s.title() #单词首字母大写 'Hello Python'

8.格式化操作符(%)
%d 转换成有符号的十进制
%u 转换成无符号的十进制
%o 转换成无符号的八进制
%e 转换成科学计数法
%f 转换成浮点型
%c 转换成字符

**格式化操作符辅助指令
* 定义宽度或者小数点精度
m.n m显示的最小的总宽度,n是小数点后的位数 %m.nf

复制代码
1
2
3
>>> f=2.4545 >>> print "%4.2f"%f 2.45

小技巧
对齐的文本和指定的宽度:

复制代码
1
2
3
4
5
6
7
8
>>> '{:<30}'.format('left aligned') # <向左对其,总宽度为30 'left aligned ' >>> '{:>30}'.format('right aligned') # >向右对其,总宽度为30 ' right aligned' >>> '{:^30}'.format('centered') # ^在总宽度为30的范围内居中, ' centered ' >>> '{:*^30}'.format('centered')#^在总宽度为30的范围内居中,空白区域用*填充 '***********centered***********'

使用逗号作为千位分隔符

复制代码
1
2
>>> '{:,}'.format(1234567890) '1,234,567,890'

9.原始字符串的目的是为了对付哪些在字符串中出现的特殊字符,除了原始字符串符号(引号前面的字母r)以外,原始字符串根普通的字符串有着几乎完全相同的语法

复制代码
1
2
3
4
5
6
7
8
>>> a=r"/asd/asdn" >>> print a /asd/asdn >>> b="/asd/asdn" >>> print b /asd/asd >>>

10.chr(ascii码)与ord(string)函数

复制代码
1
2
3
4
5
>>> ord('A') 65 >>> chr(65) 'A' >>>

有chr(ascii码)与ord(string)函数,当然也有unichr(ascii码)与uniord(string)函数,用法都一样

11.常用的字符串类型的内建方法
string.endswith(obj,beg=0,end=len(string)) :字符串是否以obj结尾
类似的还有string.startswith(obj,beg=0,end=len(string))

复制代码
1
2
3
>>> s="hello world" >>> s.endswith('world') True
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
>>> s.isalpha() #全是字母返回True False >>> s="he11o world" >>> s.isalpha() False >>> s="helloworld" >>> s.isalpha() True >>> >>> s="he11oworld" >>> s.isalnum() #字符串内至少有一个数字或字母返回True True >>> s="1231231" >>>> s.isdigit() #只包含数字返回True 与s.isnumeric() True >>> s="Title" >>> s.istitle() #是否标题化 True >>> s=" title" >>> s.lstrip() #截掉s的左边空格 当然还有s.rstrip()右边空格 'title' >>> seq=['h','e','l'] >>> ''.join(seq) #将seq中所有元素合并为一个新的字符串 'hel' >>>'-'.join(seq) 'h-e-l' >>> s="hello world" >>> s.count('l') #返回l出现的次数 3 >>> s="Hello Python" >>> s.swapcase() #大小写反转 'hELLO pYTHON' >>> >>> s="Hello Python !!!" >>> s.split(' ') #以空格作为分隔符切片成数组,很常用 ['Hello', 'Python','!!!'] >>>

11.s虽然我们可以用单引号或者双引号来定义字符串,但是如果包含如换行符这样的特殊字符是,这个时候就应该使用三引号,经常用于HTML语句中

12.Unicode通过使用一个或者多个字节来表示一个字符的方法突破了ASCII的限制再这样的机制下,Unicode可以表示超过90000个字符

unicode()函数可以把任何python的数据类型转换成相应的Unicode字符串
s.encode(‘utf-8’)函数 参数接受编码格式,返回编码后的字符
s.decode(‘utf-8’)函数,参数接受解码格式,然后输出

遵循以下规则,处理unicode就比较简单
①。程序中出现字符串一定要加一个前缀u
②。不要用str()函数,用unicode()函数代替
③。不到必须的不要在你的程序中编解码unicode字符

最后

以上就是土豪睫毛膏最近收集整理的关于python序列:字符串的全部内容,更多相关python序列内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部