pyton字符串方法大全
“字符串其实就是一个字符元素组成的序列”
字符串的拼接方法
常见的三种格式化拼接的方法 ???????????
name='帅哥'
month=9
money=32.00
yu_money=18.00
ces="亲爱的%s你好!你%s月的话费是%.2f元,余额是%.2f元"%(name,month,money,yu_money)
ces1=f"亲爱的{name}你好!你{month}月的话费是{money}元,余额是{yu_money}元"
ces2="亲爱的{name}你好!你{month}月的话费是{money}元,余额是{yu_money}元".format(
name=name,month=month,money=money,yu_money=yu_money)
print(ces)
print(ces1)
print(ces2)
字符串转成列表
a='sssss,kkk'
print(a.split(',')
列表转字符串
b=['1','2']
'.'.join(b)
索引和分片(切片)
索引:string[index]
超出索引:IndexError: string index out of range
*遍历字符串中的每个字符
0到 len-1
*翻转输出每个字符
-1 到 -len
分片(截取)
格式:string[头下标:尾下标:步长]
步长默认为1,步长可以不写
头下标为空:从第一个字符开始截取
尾下标为空:截取到最后
[:]字符串“拷贝”
越界不会报错,取到结尾
字符串翻转
[::-1]
字符串连接
+
1.可以通过加号进行拼接,但非字符串型需要先强制转成字符串型,使用str()函数转换
2.每连接一次,就要重新开辟空间,然后把字符串连接起来,再放入新的空间
大量字符串拼接时,效率低
**join
'sep'.join(seq)
上面的语法即:以sep作为分隔符,将序列seq所有的元素合并成一个新的字符串
*加号连接效率低是在连续进行多个字符串连接的时候出现的,如果连接的个数较少,加号连接效率反而比join连接效率高
对于多个元素组成的序列,只有当它们之间使用的分隔符都一样时,才可以用join()
*对象的函数 -> 类和对象介绍
函数 len(), id(), type()
a = 'Hello{name}'
a.format(name='tls')
'&'.join()
=> 类和对象
字符串替换
str.replace(old, new[, max]) 返回新字符串
参数:old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。未找到就不替换
max -- 可选字符串, 替换不超过 max 次
字符串查找
find
str.find(target, [start,end) )
在字符串中查找子串首次出现的index,找不到时返回-1
index
str.index(target, [start,end) )
在字符串里查找子串第一次出现的位置,找不到子串会抛出异常
**字符串分割
str.split(sep, [,max])
将一个字符串分裂成多个字符串组成的列表
不带参数时以空格进行分割
带参数sep时,以该参数值为分隔符进行分割
未查询到分隔符时,列表只包含原始字符串
字符串大小写
转换:
str.upper() --转大写
str.lower() --转小写
str.capitalize() --首字母大写,其余字母小写
判断:
str.isupper() --字母是否全是大写
str.islower() --字母是否全是小写
str.istitle() --是否是每个单词首字母都大写的
字符种类判断:
str.isalpha() --是否全是字母,并至少有一个字符
str.isdigit() --是否全是数字,并至少有一个字符
str.isspace() --是否全是空白字符,并至少有一个字符
str.isalnum() --是否全是字母或数字,并至少有一个字符
开始结束判断:
str.startswith(target) --判断字符串是否以某个字符串开始
str.endswith(target) --判断字符串是否以某个字符串结尾
字符串去空格
str.strip() --去掉字符串的左右空格
str.lstrip() --去掉字符串的左边空格
str.rstrip() --去掉字符串的右边空格
其他
str.count(target,[start,end)) --统计某个字符在字符串中出现的次数
------------------------------------------8、输出与输入-------------------------------------------
输出
print('hello')
Python3.x时代,print是一个函数
输出内容
1. 字符串和数值类型
2. 变量--无论什么类型,数值,布尔,列表,字典...都可以直接输出
输出单个数据:
print(1)
print('')
print(a)
print(type())
print([])
print(())
print({})
输出多个数据
print(A, B, C)
*默认以空格分隔;即默认分隔符为' ' 。
如果要以其他字符分隔,需加sep='xxx'参数
*默认输出结束自动换行,即默认结束符为'\n',
如果不需要换行并需要其他结束符,需加end='xxx'参数
*(了解)默认输出到控制台
如果需要输出到文件,需加file=参数
st = open('1.txt', 'w')
print(1, 2, 3, file=st)
输入
input
变量名 = input(提示信息)
将所有输入作为字符串看待
例: 接收一个数字,把这个数字加1再输出出来
------------------------------------------9、控制语句-------------------------------------------
分支语句
用于处理在不同的条件下,做出不同的选择的情况
第一种:
if 条件表达式:
条件表达式为真时,执行此代码块
# if判断条件还可以简写,比如:
# if x:
# print('True')
# 只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False(None,0,0.0,空列表、元组、字典,'',False)
第二种:
if 条件表达式:
条件表达式为真时,执行此代码块
else:
条件表达式为假时,执行此代码块
第三种:
if 条件表达式A:
条件表达式为真时,执行此代码块
elif 条件表达式B:
条件表达式B为真时,执行此代码块
第四种:
if 条件表达式A:
条件表达式为真时,执行此代码块
elif 条件表达式B:
条件表达式B为真时,执行此代码块
elif 条件表达式C:
条件表达式C为真时,执行此代码块
else:
以上表达式都为假时,执行此代码块
注意: 1.多个条件时,可以用elif来实现。
2.如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
3.最容易出现的条件靠前写。
复杂 if 条件
可包含 and、or、not,用()标识计算优先级
区别以下两种情况:
'''
if xxx:
xxxxxxxx
elif yyy:
yyyyyyyy
elif zzz:
zzzzzzzz
else:
wwwwwww
'''
'''
if xxx:
xxxxxxxx
if yyy:
yyyyyyyy
if zzz:
zzzzzzzz
else:
wwwwwww
'''
if 嵌套
if xxx:
xxxxxxxxxxxxxxxxxxxxx
if xxx:
xxx
else:
xxx
else:
xxxxxxxxxxxxxxxxxxxxx
举例:
1.接收用户输入的一个字符串,判断是否为纯数字
2.接收用户输入的一个整数,判断能否被3整除