字符串、python内置函数 str() 和repr() 的区别

字符串

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.'

 

 


 
 
原文地址:https://www.cnblogs.com/domestique/p/6748697.html