目录
字符串的判断操作
字符串的替换与合并
字符串的比价操作
字符串的切片操作:
格式化字符串的方法:
1,用%来格式化,类似与c语言
2,format方法 使用位置一一对应
3,f-string
相信这点难度,难不到大家,那么我们现在进入最后的例题()
案例1:
编辑
编辑编辑
案例2
案例三
多多点赞哦
1,isidentifier(),判断指定的字符串是不是合法的表示符
s='game,word,time'
print(s.isidentifier() ) # 因为','不是合法的标识符所以,输出结果为false
2,isspace(),判断指定字符串是否全部由空白字符组成(回车,换行,水平制表符)
s='eh'
a='' \
' '
print(a.isspace())
print(s.isspace()) # s字符串不是由上述要求组成,而a字符串全为以上元素所构成,所以前为ture,后为false
3,isalpha(),判断指定的字符串是否全部由字母组成
s='fafj'
a='13sfs'
print(s.isalpha())
print(a.isalpha())
4,isdecimal(),判断指定的字符串是否全是由十进制的数字组成
s='fafj'
a='13sfs'
print(s.isalpha())
print(a.isalpha())
5,isnumeric(),判断指定的字符串是否全部由数字组成
s='afaf'
a='dq234'
q='12345'
print(s.isnumeric())
print(a.isnumeric())
print(q.isnumeric())
6,isalnum(),判断指定字符串是否全有字母和数字组成,包括中文(文字)和罗马数字等其他数字,以上同
s='afaf'
a='dq234'
q='12345'
z='__1321ED'
print(s.isalnum())
print(a.isalnum())
print(q.isalnum())
print(z.isalnum()) #单独全部由数字和字母都可以。
1,字符串的替换,replace(),第一个参数被替换的子串,第二个参数指定替换子串的字符串,该方法返回替换后得到的字符串,替换前得到字符串不发生变化,调用该方法时可以通过第三个参数指定最大的替换次数。
s = 'hello world'
print(s.replace('world','java'))
s = 'hello,world,world,world'
print(s.replace('world','java',3))
2,字符串的合并,join(),将列表或元组中的字符串合并成为一个字符串
s = 'c','c++','java','python','sql'
print('|'.join(s))
1,使用运算符(>,>=,<,<=,==,!=)比较规则,就是两个字符串的元素分别依次比较,当第一次出现两个元素不相等的时候,比较结束,比较的结果就是这两个不同元素的结果。 比较原理:元素比较时,比较的是其原始值(ordinal value),调用内置函数ord可以得到指定字符的原始值。与内置函数ord对应的内置函数 chr,调用内置函数chr可以得到原始值所对应的字符。 原始值的前120位皆为ascll
注意: is与==的区别,is比较的是两个的地址,而==比较的是两个的元素。但由于驻留机制的存在,对于字符串常量来说,一般元素相同的,地址也相同。
字符串是不可变类型 不具备增删改的操作,所以当进行切片过程时则会产生新的对象 格式 [start:end:step] 与字符串的切片类似,start规定切的起始位置,end切片的结束位置。注意结束是到end-1的位置,不包含end。,step,每次切间隔的距离。
s = 'hello,world'
a=s[1:6:1]
c=s[1:9:3]
d=s[-1:-9:-1]
print(a)
print(c)
print(d)
关于step是负数的情况,如果step是负数的话,start和end也得是负数,否则输出空白,其次如果step是负数,按照逆排序,得到的是倒着的输出。
a = 12
b = 45
print('bob is %d years old, john is %d' %(a,b))
print('{} asked {} to do something'.format('egon', 'lili'))
# 结果:egon asked lili to do something
print('{} asked {} to do something'.format('lili', 'egon'))
# 结果:lili asked egon to do something
a,使用索引对应
name = 'bob' number = '17' print('hello i am {0}, {1} years old '.format(name,number))
0,1,是所站位元素所要替换的变量的位置。
b,使用字典来配合
format a={'age':28,'name':'bob'} print('{name} is {age}'.format(**a))
c,填充与格式化
# 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
# *<10:左对齐,总共10个字符,不够的用*号填充 print('{0:*<10}'.format('开始执行')) # 开始执行******
# *>10:右对齐,总共10个字符,不够的用*号填充 print('{0:*>10}'.format('开始执行')) # ******开始执行
# *^10:居中显示,总共10个字符,不够的用*号填充 print('{0:*^10}'.format('开始执行')) # ***开始执行*** 可以当做模版使用
精度问题
print('{salary:.3f}'.format(salary=1232132.12351)) #精确到小数点后3位,四舍五入,结果为:1232132.124
print('{0:b}'.format(123)) # 转成二进制,结果为:1111011
print('{0:o}'.format(9)) # 转成八进制,结果为:11
print('{0:x}'.format(15)) # 转成十六进制,结果为:f
print('{0:,}'.format(99812939393931)) #千分位格式化,结果为:99,812,939,393,931
带有f/F的字符串 age='18' name='bob' print(f'{name} is {age} ')
当{}中为表达式时 # 可以在{}中放置任意合法的Python表达式,会在运行时计算
# 比如:数学表达式 print(f'{3*3/2}') # 4.5
a=input()
b=a[0:10:1]
print(b)
name = input()
print(name.lower())
print(name.upper())
print(name.title())
a = input()
b = input()
print("".join([a,b]))