python数据类型之字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型之字符串相关的知识,希望对你有一定的参考价值。
1、字符串概念
字符串:"abcd1234"
子字符串:"abc"
2、字符编码:ascii unicode utf8
python默认的文件编码是ascii,只能表示键盘上的数字,unicode是一个标准,能表示世界上所有的字符,utf8是Unicode的实现
3、字符串的len方法需注意字符的编码
>>> a = "1234" >>> len(a) 4 >>> a ="我是中国人" #默认是ascii码,一个中文字符占用3个byte >>> len(a) 15 >>> a=u"我是中国人" #u表示转换为Unicode码 >>> len(a) 5 >>> a="我是中国人" >>> g=a.decode(‘utf-8‘) #转换为unicode码 >>> len(g) 5
4、转义符让文本更好处理
要转义的字符前面加个反斜杠
>>> print ‘abcd\‘‘ abcd‘
5、字符串前面的r是什么意思?
>>> print r‘\n‘ #表示反斜杠不要转移 \n
6、访问子字符串,序列的切片
成员有是有序排列的,可以通过下标偏移量访问到它的一个或者向个成员
s[start:end:+1step]
start:表示从哪个位置开始切片
end:表示到哪个为之结束,但是不包括这个位置,不是表示切的个数
+-step:表示步长,+表示从左边向右边切,-表示从右边向左边切
特殊的位置,0表示第一个原始,-1表示最后一个原始
s[:] 表示整个序列本身,s[:-1] 并不是表示整个序列,因为右边是开区间,是取不到的
>>> a = "abcde" #序列的下标从0开始 >>> a[0] ‘a‘ >>> a[1] ‘b‘ >>> a[-1] #-1 表示序列的最后一个 ‘e‘ >>> a[len(a)-1] #用len来最后一个元素 ‘e‘ >>> a[0:] #:表示切片 ‘abcde‘ >>> a[0:1] ‘a‘ >>> a[0:2] ‘ab‘ >>> a[0:2:1] ‘ab‘ >>> a[0:2:2] ‘a‘ >>> a[0:4:2] ‘ac‘ >>> a[1:3] ‘bc‘ >>> a[:-1] ‘abcd‘
7.替换字符串
>>> a="abc"; #字符串一旦赋值,就不可改变,字符串是不能修改的,而是另外新建立了对象 >>> d=a.replace(‘a‘,‘cccc‘) #S.replace(old, new[, count]) -> string >>> print a abc >>> print d ccccbc >>> id(a) 47131100681104 >>> id(d) 47131159552096
8、查找子字符串
>>> a ="this is wolrd" >>> a.find("world") # S.find(sub [,start [,end]]) -> int -1 #返回-1就是没有找到 >>> a.find("wolrd") #返回的单词的起始位置index 8 >>> a[8:] ‘wolrd‘ >>> a="world,that,world,this,world is world" >>> a.find("world") 0 >>> a.find("world",11) 11
9、字符串拼接
9.1、用+,超级丑陋之千万别用,会生成多个字符串
>>> a ="abcdef" >>> b="cde" >>> print a+b abcdefcde
9.2、可选方案之字符串模板
>>> s="my name is %s lilei" % "hamemei" >>> print s my name is hamemei lilei
%s 字符串占位符
%d 数字的占位符
>>> s= "my name is %s , my year is %d" % ("hameimei",20) >>> print s my name is hameimei , my year is 20 a = "this is %s %s" % ("my","apple") # % 是一一对应的关系 a = "this is {1} {0}" .format ("my","apple") #位置从0开始 a = "this is {whose} {fruit}" .format (whose="my",fruite="apple") a = "this is %(whose)s %(fruit)s " % {‘whose‘:‘my‘,‘fruit‘:‘apple‘} #这种方式要多写很多符合,较上面.format方法麻烦些
9.3、优秀的拼接方案,join
>>> a = "a" >>> b = "abcd" >>> c="2134556" >>> "".join([a,b,c]) #join里面跟的是一个list ‘aabcd2134556‘ >>> ",".join([a,b,c]) ‘a,abcd,2134556‘
本文出自 “小鱼的博客” 博客,谢绝转载!
以上是关于python数据类型之字符串的主要内容,如果未能解决你的问题,请参考以下文章