str = "tom is a good man"
#访问字符串的某一个字符,字符不可改变
str[1]
#截取字符串[a:b] a包含到b之前,从开始截取a可以为空[:b],截到末尾b可以不写[a:]
str1 = str[2:10]
#判断是不是成员
"good" in str #判断在
"food" not in str #判断不在
#格式化输出
num = 10
f = 10.123
print("num = %d\nstr = %s\nf = %.3f" % (num , str , f))
#打印多行 ''''''
print('''
good
nice
tom
''')
#\t默认四个空格
#python允许用r表示每部字符串默认不转义
print(r"\\\t\\") #\\\t\\
#eval(str)
#功能:将字符串str当成有效的表达式来求值并返回计算结果
num1 = eval("123") #num1=>123
num1 = eval("12+3") #num1=>15
#返回字符串长度
len(str)
#lower()转换字符串大写字母为小写字母
str.lower()
#upper()转换字符串小写字母为大写字母
str.upper()
#swapcase()转换字符串小写字母为大写,大写字母为小写
str.swapcase()
#capitalize()字符串首字母大写 其他小写
str.capitalize()
#title()字符串里每个单词的首字母大写
#center(width[,fillchar])字符串宽度 和不够宽度时填充的字符
#返回一个指定宽度的居中对齐的字符串,fillchar为填充字符,默认空格填充
#ljust(width[,fillchar])字符串宽度 和不够宽度时填充的字符
#返回一个指定宽度的左对齐的字符串,fillchar为填充字符,默认空格填充
#rjust(width[,fillchar])字符串宽度 和不够宽度时填充的字符
#返回一个指定宽度的右对齐的字符串,fillchar为填充字符,默认空格填充
#zfill(width)
#返回一个长度为width的字符串,原字符串右对齐,前面补0
#count(str[,start][,end])
#返回字符串中str出现的次数,可以指定字符串中的范围,默认从头到尾
#find(str[,start][,end])
#检测str字符串是否包含在字符串中,可以指定范围,默认从头大卫
#得到从左到右第一次出险的下标,没有返回-1
#rfind(str[,start][,end])
#从右向左查找
#index(str[,start = 0][,end = len(str)])
#rindex(str[,start = 0][,end = len(str)])
#和find一样,只不过str不存在的时候回报一个异常
#lstrip()截掉字符串左侧指定字符,默认为空格
#rstrip()截掉字符串右侧指定字符,默认为空格
#strip()截掉字符串左侧、右侧指定字符,默认为空格
#字符串比较
#从第一个字符开始比较,谁的ASCII值大谁就大
#如果相等会比较下一个字符的ASCII值大小,谁的值大谁就大
#split(str="",num)
#以str为分隔符截取字符串,指定num,则仅截取num个字符串
#splitlines([keepends]) 按照('\r,, '\r\n', '\n')分隔,按行切割
#keepends == True会保留换行符,默认false
#join(seq) 以指定的字符串分隔符,将seq中的所有元素组合成一个字符串
list1 = ['tom', 'is', 's', 'good', 'man']
str = " ".join(list1)
print(str)
#max() min() 最大值 最小值 按ASCII值
#replace(oldstr,newstr,count)
#用newstr替换oldstr,默认是全部替换,如果制定了count,那么只替换前count个
#创建一个字符串映射表
# 要转的字符串 目标字符串
t = str.maketrans("ac","65")
# a--6 c--5
str2 = "tom is a good man"
str3 = str2.translate(t) #tom is 6 good m6n
print(str3)
#startswith(str, start=0, end=len(str)) 在指定范围内是否以str开头,如果没有指定范围,默认指定字符串
#endswith(str, start=0, end=len(str)) 在指定范围内是否以str结尾,如果没有指定范围,默认指定字符串
#编码
#encode(encoding="utf-8",errors="strict") errors="ignore" 忽略错误
#解码 注意:要与编码时的编码格式一致
#decode(encoding)
#isalpha()
#如果字符串中至少有一个字符,且所有字符都是字母返回True,否则返回False
#isalnum()
#如果字符串中至少有一个字符,且所有字符都是字母或数字返回True,否则返回False
#isupper()
#如果字符串中至少有一个英文字符,且所有的英文字符都是大写的英文字母返回True,否则返回False
#ABC1 返回True ABc返回False
#islower()
#如果字符串中至少有一个英文字符,且所有的英文字符都是小写的英文字母返回True,否则返回False
#abc1 返回True abC返回False
#istitle()
#如果字符串时标题话的返回True,否则返回False(单词的首字母大写)
#isdigit()
#如果字符串中只包含数字字符串返回True,否则返回False
#isnumeric()
#同上
#isdecimal()
#如果字符串中只包含十进制字符串返回True,否则返回False
#isspace()
#如果字符串中只包含空格返回True,否则返回False