字符串
name = "Alex Li;Rain Wang;Jack" print(name) print(name.strip()) #脱掉前后的空格和 print(name.split(";")) #分割 ,把一个字符串按指定的符号分割成列表 name.rsplit() #从最右边开始分割,和split差不多,只是方向不一样 print("HELLO wor ld ".splitlines()) #以换行符为分割,最后一个不管 print("HELLO wor ld ".split(" ")) print(len(name)) #长度 print(r"fsdghlfjdk.") #前面加r表示字符串都没有转义的意思
查:
name1 = "suhaozhi,qinzhen, lizhi" print(name1.index("h")) #返回索引值,找不到报错 print(name1[:8]) #从开始到索引值8切片 print(name1[8:]) #从索引值8到末尾切片 print(name1[0::3]) #从字符串到最后切片,步长3 print(name1[0::-1])# 字符串反向排序 print("hello world".find("a",4)) #从左边找,返回索引值,可以指定开始寻找的位置,找不到返回值-1 print("hello world".rfind("l"))#从右边找,返回索引值
字符串的空格都要占位
name = "my name is {0} , i am {1} years old" name2 = "My name is {name} , i am {age} years old" print(name2.lstrip("My name")) #删除首部空格,如果给出字符而不是无,删除字符。#rstrip删除尾部空格 print(name2.swapcase()) #大小写互换 IN = "abcde" OUT = "!@#$%" trans_table = str.maketrans(IN,OUT) #maketrans映射 print(name2.translate(trans_table)) #将映射的字符翻译到字符串中
print(name2.replace('name','NAME',1)) #替换
print( '|||||'.join(['alex','jack','rain']) ) #把列表拼接成字符串
print(name2.zfill(50)) #forget #字符串不够宽度左边用0填充
print(name.center(50,'*'))
print(name2.ljust(50,'-')) #左对齐
print(name2.rjust(50,'-')) #右对齐
print(name2.lower()) #大写变小写
print(name2.rfind('s')) #返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。
print('a1a'.isalnum()) #a-zA-Z 0-9 检测字符串是否由字母和数字组成。
print('10354243'.isdecimal()) #是不是一个正整数
print('aA'.isalpha()) #是不是字母,返回一个布尔值
print('-a'.isidentifier()) #identifier 关键字 ,判断是不是合法的关键字,是不是合法的变量名
print('A'.islower()) #判断是否是小写
print('A'.isupper()) #判断是都是大写
print('123.3'.isnumeric()) #是否是数字
print('a'.isprintable()) #可否打印
print(' '.isspace()) #是不是空格
print('Today Headline'.istitle()) #是不是英文标题
print(name.capitalize()) #首字母大写
print(name.casefold()) #大写变小写 if choice == "Y" or choice == "y"
print(name.count('e',3,7)) # 返回统计的个数
print(name.endswith("Li"))#以Li结尾
print(name.expandtabs(3)) #设置 的长度
print(name.find("sdf",3)) #返回找的的第一个值的索引,找不到就返回-1
print(name.format("Alex",22))
print(name2.format(name="Alex",age=22))#格式化输出
print(name2.format_map({'name':'Alex','age':23}))
字符的大小写判断的转化:
判断字符串
s.isalnum() #所有字符都是数字或者字母
s.isalpha() #所有字符都是字母
s.isdigit() #所有字符都是数字
s.islower() #所有字符都是小写
s.isupper() #所有字符都是大写
s.istitle() #所有单词都是首字母大写,像标题
s.isspace() #所有字符都是空白字符、 、
大小写转换
s.upper() #把所有字符中的小写字母转换成大写字母
s.lower() #把所有字符中的大写字母转换成小写字母
s.capitalize() #把第一个字母转化为大写字母,其余小写
s.title() #把每个单词的第一个字母转化为大写,其余小写
字符串的格式化输出 %s:字符串 %d:整型 %f:浮点型
print("hello %s,%s"%("sb","egon")) print("hello %s, his age is %d"%("sb",35)) print("hello %s, his age is %.4f"%("sb",35.53452345))
python内置函数 str() 和repr() 的区别
1、内建函数str()和repr() 或反引号操作符(``)可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。
2、str()函数得到的字符串可读性好(故被print调用)
3、repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下obj==eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象作为其参数,返回适当的字符串。
4、事实上repr()和``做一样的事情,返回一个对象的官方字符串表示。其结果绝大多数情况下(不是所有)可以通过求值运算(内建函数eval())重新得到该对象。str()则不同,它生成一个对象的可读性好的字符串表示,结果通常无法用eval()求值,但适合print输出。
a = 'Hello, world.' b = str(a) c = eval(repr(a)) print a==b print a==c print str(a) #对用户友好 print repr(a) # 对python友好 结果如下 True True Hello, world. 'Hello, world.'