字符串str
- Python中的字符串内置类型为
str
,不是string
,也不是String
哟。 - str类型一经创建便不可改变,如C++中的
immutable
。 - 拥有[]运算符,和java,C++类似,下标从0开始。
- 字符串长度可用len函数求解。
- 字符串连接运算,使用”+”,与C++类似,要注意类型转换,不像java可以自动转换。
s = 'hi'
print s[1] ## i
print len(s) ## 2
print s + ' there' ## hi there
pi = 3.14
##text = 'The value of pi is ' + pi ## NO, does not work
text = 'The value of pi is ' + str(pi) ## yes
使用raw特性将忽略字符串中的\t,\n等转义符,适合在处理文件路径时采用。
raw = r'this\t\n and that'
print raw ## this\t\n and that
常用字符串方法
- s.lower(),s.upper() –返回对应的s的小写和大写格式字符串。
- s.strip() –返回s去除首尾的空格之后的字符串。
- s.isalpha()/s.isdigit()/s.isspace() –返回bool类型,判定s是否为对应类型。
- s.startswith(‘other’),s.endswith(‘other’) –返回bool类型,判定s是否以other开头或结束。
- s.find(‘other’) –判定字符串other(非正则表达式)是否在s中,若存在则返回首次出现的位置,否则返回-1。
- s.replace(‘old’,’new’) –将s中所有的old替换为new,然后返回。
- s.split(‘delim’) –按所给定界符(非正则表达式)对s进行分割,s.split()表示按照所有的空格符进行分割。
- s.join(list) –与split相反,本方法使用s将list中的定界符元素连接起来,例如’–’.join([‘aa’,’bb’,’cc’])等于aa–bb–cc。
字符串语法
假设s=’Hello’
可采用从0开始的自然数下标:
s[1:4]=’ell’
s[1:]=’ello’
s[:]=’Hello’
s[1:100]=’ello’
也可以采用负数下标:
s[-1]=’o’
s[-4]=’e’
s[:-3]=’He’
s[-3:]=’llo’
显然对于任何n,有s[:n]+s[n:]==s.
%操作
类似于C语言的printf(),Python可以使用%运算符将对应格式的对象,放入同一个字符串中,(%d int,%s string,%f/%g 浮点型),使用方式如下:
# % operator
text = "%d little pigs come out or I'll %s and %s and %s" % (3, 'huff', 'puff', 'blow down')