字符串 string
语法:
a = 'hello world!'
b = "hello world!"
常用操作:
1、乘法操作是将字符串重复输出2遍
>>> a='abc'*2
>>> a
'abcabc'
2、切片操作,将字符串从索引下标2开始切片取到最后。
>>> print("helloworld"[2:])
lloworld
3、in操作,判断字符串abc是否存在于字符串abcdefg中,存在则返回True,不存在则返回False。
>>> 'abc' in 'abcdefg'
True
4、%s表示格式化输出
>>> a='alex'
>>> print("my name is %s" %a)
my name is alex
%s 代表字符串
%d 代表数字
%f 代表浮点数
5、+(拼接)运算符,可以作为拼接字符使用,将字符串a和字符串b拼接成一个新的字符串c。
>>> a='my name is '
>>> b='alex'
>>> c=a+b
>>> print c
my name is alex
6、.join()方法是拼接方法
>>> a="12345678"
>>> b="_".join(a)
>>> b
'1_2_3_4_5_6_7_8'
>>> c="_".join([a,b])
>>> c
'12345678_abcdefg'
"拼接字符".join() 可以把列表拼接成一个字符串,通过自定义的拼接字符为间隔符把列表中的元素拼接成一个字符串。
常用方法:
st = 'hello kitty'
1、counter()方法获取字符e在字符串中出现的次数。
>>> st.count('e')
1
2、capitalize()方法将字符串的首字符转换成大写字符。
>>>st.capitalize()
'Hello kitty'
3、center()方法可以将字符串居中输出,两边都用50个下划线做补充,可以用于描述字符的居中输出。
>>> st.center(50,'_')
'___________________hello kitty____________________'
4、endswith()方法用于判断是否是以某个字符进行结尾,如果是则返回True,否则返回False。
>>> st.endswith('y')
True
5、startswitch()方法用于判断是否是以某个字符开头,如果是则返回True,否则返回False。
>>> st.startswith('e')
False
>>> st.startswith('h')
True
6、expandtabs()方法是控制字符串中tab建的空格数量,默认tab建是四个空格,通过这个方法可以将tab建的空格随意定义,这里定义的是20。
>>> bt='he\tllo kitty'
>>> bt.expandtabs(tabsize=20)
he llo kitty
7、find()方法用于查找这个字符元素在字符串中第一次出现的位置,并将索引位置返回。只能查询第一次出现的位置。没查找到不会报错。
>>> st.find("e")
1
8、format()方法用于格式化输出,例如,format中的参数定义name,这里的name会将自己的值传递给st变量中的{name},最后的输出结果如下所示。
>>> st='hello kitty {name}'
>>> st.format(name='alex')
'hello kitty alex'
>>> st='hello kitty {name} is {age}'
>>> st.format(name='alex',age='27')
'hello kitty alex is 27'
9、formap_map()方法也用于格式化输出,功能和formap一样,只不过formap_map的参数是以字典的形式进行赋值。
>>> st='hello kitty {name} is {age}'
>>> st.format_map({"name":'alex',"age":'27'})
'hello kitty alex is 27'
10、index()方法和find方法功能类似,也是用于查找字符在字符串中的第一次出现的位置,并且返回位置下标,不过index如果没查到,会返回错误。
>>> st.index('e')
1
>>> st.index('4')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
11、isalnume()方法用于检测字符串是否是字母数字,如果包含特殊字符则返回False,否则返回True。
>>> st='abc345'
>>> st.isalnum()
True
12、isdigit()方法用于判断一个字符串是否是一个数字。返回值True和False。
>>> "123".isdigit()
True
>>> 'abc'.isdigit()
False
13、isnumeric()方法用于判断一个字符串是否是一个数字,功能及用法同isdigit()方法。返回值True和False。
14、isidentifier()方法用于判断一个变量命名是否非法。返回值True和False。
>>> 'abc'.isidentifier()
True
>>> ‘123abc’.isidentifier()
False
15、islower()方法用于判断字符串中是否全部为小写,如果有大写字符则返回False。
>>> st='abc'
>>> st.islower()
True
>>> st='Abc'
>>> st.islower()
False
16、isupper()方法功能同islower想法,用于判断字符串中是否全部为大写,如果有小写则返回False。
>>> st='abc'
>>> st.isupper()
False
>>> st='ABC'
>>> st.isupper()
True
17、isspace()方法用于判断是否全部都是空格,返回值True和False。
>>> st='ab c'
>>> st.isspace()
False
>>> st=" "
>>> st.isspace()
True
18、istitle()方法用于判断标题中的所有字符串首字符是否都是大写,如果不是则返回False。
>>> st='My Title'
>>> st.istitle()
True
>>> st='My title'
>>> st.istitle()
False
19、lower()方法,用于将字符串全部转换成小写字符。
>>> st
'My title'
>>> st.lower()
'my title'
20、upper()方法,用于将字符串全部转成大写字符。
>>> st
'My title'
>>> st.upper()
'MY TITLE'
21、swapcase()方法,用于将字符串所有字符进行反转,大写变成小写,小写变成大写。
>>> st='MY title'
>>> st.swapcase()
'my TITLE'
22、strip()方法,用于将字符串开头和结尾的空格和换行符全部去掉。经常用于获取屏幕输入的时候。
>>> st
' my title \n'
>>> st.strip()
'my title'
23、lstrip()方法,只能去掉字符串左边的空格和换行符,不能去掉右边的。
>>> st
' my title \n'
>>> st.lstrip()
'my title \n
24、rstrip()方法,只能去掉字符串右边的空格和换行符,不能去掉左边的。
>>> st
' my title \n'
>>> st.rstrip()
' my title'
25、replace()方法,用于做字符的替换,这里将\n换行符替换成了hello字符串。
>>> st
' my title \n'
>>> st.replace("\n","hello")
' my title hello'
>>> st
'my title title tiele'
>>> st.replace('title','heihei',1) 这里的1指定只进行一次替换,后面相同的内容也不会再继续做替换。
'my heihei title tiele'
26、split()方法,对字符串进行分割。
>>> st
'my title title tiele'
>>> st.split(" ") 这里根据空格进行分割
['my', 'title', 'title', 'tiele']
>>> st.split("t")
['my ', 'i', 'le ', 'i', 'le ', 'iele'] 这里根据字符t进行分割
27、rstrip()方法,对字符串进行分割,从右到左执行。
>>> st
'my title title tiele'
>>> st.rsplit('t',1) 这里的t是指以t为分割符,分割1次
['my title title ', 'iele']
>>> st.rsplit('t',2) 这里的t是指以t为分割符,分割2次
['my title ti', 'le ', 'iele']
28、title()方法,用于将标题中的所有字符的首字母变成大写字符。
>>> st
'my title title tiele'
>>> st.title()
'My Title Title Tiele'