- expandtabs(self, *args, **kwargs) 断句,填满对应的数位,可以制作表格
s = "wertyukldfg
hjm dfghjkl"
v = s.expandtabs(6)
print(v)
以六个字符为一组,进行划分,遇见转至符就会对应的填满6个单位
运行结果:
wertyukldfg
hjm dfghjkl
- isdigit() isdecimal() 判断输入的值(字符串)是否是数字
isalpha() 判断输入的是否是字母,汉字也行
- isidentifier() 判断:字母、数字、下划线、标识符def和class
a = "def"
v = a.isidentifier()
print(v)
运行结果:
True
- islower() 判断是否是小写
isnumeric() 判断是否是数字,支持中文,用的最多的是isdecimal()
- isprintable() 是否有不可显示的字符
a = "deasfsdt
gfgjjgf"
v = a.isprintable()
print(v)
运行结果:
False
- isspace() 判断是否全是空格
istitle() 判断是不是标题,首字母大写
title() 首字母大写
- join() 字符串拼接,每一个元素都进行,按照指定的分隔符进行。在其内部是循环
a = "我要好好学习"
t = ' '
v=t.join(a)
print(v)
运行结果:
我 要 好 好 学 习
- ljust() 右侧填充,字符串放左
rjust() 左侧填充
zfill() 只用0填充
a = "tyui"
v=a.ljust(20,'*')
print(v)
运行结果:
tyui****************
- lower() 变成小写
islower() 判断是否是小写
upper() 变成大写
isupper() 判断是否是大写
- lstrip() retrip() strip() 消除左空格,右空格,左右空格 以及 和 , 也能去掉指定内容,还能进行匹配子序列
a = "tyuqwertyi"
v=a.lstrip('tyu')
print(v)
运行结果:
qwertyi
- partition() 从左到右,分成3分
rpartition()从右到左,分成3分
split() 从左到右,分成想要的份数,不包含分割的字符
splitlines() 只根据换行符进行分割,默认没有换行符,加False也没有,加True有
a = "tadfghyudqwerdtyi"
v =a.partition('d')
print(v)
s=a.rpartition('d')
print(s)
l=a.split('d',2)
print(l)
运行结果:
('ta', 'd', 'fghyudqwerdtyi')
('tadfghyudqwer', 'd', 'tyi')
['ta', 'fghyu', 'qwerdtyi']
使用正则表达式的时候也可以进行分割,可以设置是否想要分割的元素
test = "ertyuio
dfghjkl
dfghj
fghj"
m = test.splitlines(True)
l=test.splitlines(False)
print(l)
print(m)
运行结果:
['ertyuio', 'dfghjkl', 'dfghj', 'fghj']
['ertyuio ', 'dfghjkl ', 'dfghj ', 'fghj']
- startswith()
endswith() 开始和结束带什么
- swapcase() 大写换小写,小写换大写
replace() 替换
test = "qwertyu"
v = test.replace("qw", 'rftghjk’ ,1 ) #1表示只替换第一个
print(v)
运行结果:
rftghjkertyu
我们总结一下最基本的六个:join spilt find strip upper lower
l 我们再说几个基本的方法:
- 通过索引获得字符串中的某个元素
test = "ertyuio
dfghjkl
dfghj
fghj"
m = test[5]
print(m)
运行结果:
i
- 索引也可以使有范围的引用 ,也叫做切片
test = "ertyuiodfghjkl dfghj fghj"
m = test[0:5]
l = test[0:-1] #表示从头到尾
print(m)
print(l)
运行结果:
ertyu
ertyuiodfghjkl dfghj fgh
- 长度获取len
test = "ertyuiodfghjkl dfghj fghj"
tesh = "段立勇"
v1= len(test)
v2 = len(tesh)
print(v1)
print(v2)
运行结果:
25
3
在python2中的运行结果就不会这样
这里我们注意一点:len函数对字符串和列表的理解是不同的。
test = "ertyuiodfghjkl dfghj fghj"
tesh = [11,12,45,6,7,"rtyuio"]
v1= len(test)
v2 = len(tesh)
print(v1)
print(v2)
运行结果:25 6
对于字符串会统计长度,对于列表会统计元素个数
- for循环
for 变量名 in 字符串:
代码块
如何将中文字符一个一个的输出
test = "段立勇你是真的优秀"
index = 0
while index < len(test):
v = test[index]
print(v)
index += 1
print('==========')
运行结果:
段
立
勇
你
是
真
的
优
秀
==========
我们也可以用另一种更简单的方法:
test = "段立勇你是真的优秀"
for mmm in test:
print(mmm)
会得到一样的结果。
注:for循环和索引以及切片在其他的数据结构中都能使用。
字符串在内存中一旦创建,就不能再修改。一旦修改或者拼接,都会造成生成新的字符串。
- for中可以使用beak和continue语句
- range 创建连续的数字 rangge(0,10,5)
v = range(100)
print(v)
运行结果:
range(0, 100)
在Python2中就会直接生成100个数,python3中不会有变化,直到for循环的时候
将文字对应的检索打印出来:
test = input(">>>")
for item in range(0,len(test)):
print(item,test[item])
运行结果:
>>>dfgh
0 d
1 f
2 g
3 h