- 在python中,字符串的类型是不支持修改的
如在编译器中使用如下代码:
import string
x = 'abcd'
x[0] = 'p'
将出现错误:
x[0] = 'p'
TypeError: 'str' object does not support item assignment
- 去除空格
s = " 111 222 333 "
print(s) # 原本的字符串
print(s.strip()) # 删除左边和右边的空格
print(s.lstrip()) # 删除左边的空格
print(s.rstrip()) # 删除右边的空格
print(s) # 观察去除空格后的字符串
111 222 333
111 222 333
111 222 333
111 222 333
111 222 333
注意:由于字符串本身并不能被修改,所以去除空格后打印出变量s仍然没有改变
- 大小写的转换
s = 'hello world'
print(s.upper()) # 所有字母大写
print(s.upper().lower()) # 所有字母小写
print(s.capitalize()) # 首字母大写
HELLO WORLD
hello world
Hello world
- 字符串比较
s1 = 'abcdefg'
s2 = 'abcdefh'
print(s1 == s2) # 比较两个字符串是否一样
print(s1.index('abc')) # 查看‘abc’在字符串所在的位置
False
0
注意:对于空的字符串,它与False 是等价的,但是对于None 是一个空指针,与空字符串不一样,不在内存分配一个空间,例如:
s = ''
if not s:
print('empty')
结果将打印出empty
- 字符串的分割
s = 'abc,def,qqq'
print(s.split(','))
s1 = '''111
222
333
'''
print(s1.splitlines()) # 根据换行符进行分割
['abc', 'def', 'qqq']
['111', '222', '333']
- 字符串的连接
s = ['abc', 'def', 'ggg']
print(''.join(s)) # 可以指定连接符。如,空格,加号等
print('+'.join(s))
abcdefggg
abc+def+ggg
- 其他常用的字符串判断
str.startswith(prefix) # 是否以prefix开头
str.endswith(suffix) #是否以suffix结尾
str.isalnum() # 是否全是字母和数字,并至少有一个字符。
str.isalpha() # 是否全是字母,并至少有一个字符。
str.isdigit() # 是否全是数字,并至少有一个字符。
str.isspace() # 是否全是空白字符,并至少有一个字符。
str.islower() # 字母是否全是小写
str.isupper() # 字母是否全是大写
str.istitle() # 首字母是否大写
- 字符串与数字的相互转化
print(str(5.)) # 将数字转化为字符串
print(str(66666))
print(str(6.789456))
print(int('444')) # 将字符串转化为数字
print(int('11111111', 2)) # 将字符串按照指定的进制转换为10进制
print(float('444.23'))
5.0
66666
6.789456
444
255
444.23