#Python3字符串
#Python中字符串通过单引号或者双引号来创建(一般是用单引号, 除非字符串中存在单引号);
#Python中不存在字符型(char), 单个字符也是字符串
#Python中字符串的截取和list类似, 都是通过下标
var_str1 = 'Hello World!'
var_str2 = 'Runnob'
print('var_str1[0]:', var_str1[0]) #H 下标从0开始(单个下标, 会有索引越界报错的可能)
print('var_str2[1:5]:', var_str2[1:5]) #unno 包头不包尾(截取的下标, 是不会有索引越界的限制的)
print('拼接字符串 :' + var_str1[:6] + 'Runoob!')
#字符串操作符
print('连接' + '符') #+连接操作符
print('重复' * 3) #*重复操作符
print(var_str1[0]) #[]通过索引获取
print(var_str1[1:4]) #[:]截取字符串
if('H' in var_str1): #成员运算符(同list使用方法)
print("'H' in " + var_str1)
if('O' not in var_str1): #区分大小写
print("'O' not in " + var_str1)
print('\n1')
print(r'\n原样输出') #r/R 原始字符串
#字符串格式化
print('我叫 %s 今年 %d 岁!' % ('小明', 10))
#Python 常用内建函数
var_str3 = 'test'
print(len(var_str3)) #4 返回字符串长度
print(var_str3.capitalize()) #Test 首字母大写
print(var_str3.center(7, 'A')) #AAtestA 字符串居中, 指定长度, 如果不够, 在两边填充指定字符(只能是单个字符)
print(var_str3.count('es', 0, len(var_str3))) #1 返回指定范围内的出现字符串的次数(可以不指定范围)
print(var_str3.encode('UTF-8').decode('UTF-8', 'strict')) #编码和解码
print(var_str3.endswith('st', 0, len(var_str3))) #判断指定范围内(可以不指定), 是否以指定字符串结尾
print('\t制表符tab转换为8个空格'.expandtabs(8)) #替换tab符号为指定个数空格
print(var_str3.find('st', 0, len(var_str3))) #返回指定范围内字符串的其实位置(可以不指定), 如果不存在返回-1
print(var_str3.index('te', 0, len(var_str3))) #和find功能一样, 但是如果不存在, 会抛出异常
print('14ddf'.isalnum()) #True 判断是否有且所有字符都是字母或者数字
print('asdf'.isalpha()) #True判断是否有且所有字符都是字母
print('不只包含0512'.isdigit()) #False 判断是否有且只包含数字(具体数字类型比较复杂)
print('08'.islower()) #False 判断至少包含一个区分大小写的字符, 且他们所有都是小写
print('一'.isnumeric()) #True 判断是否有且只包含数字
print('\t\n'.isspace()) #True 判断是否有且只包含空白字符
print('12ADSA'.isupper()) #True 判断是否有且包含大写字符
s1 = ['r', 'u', 'n']; print(',|'.join(s1)) #d,d,d,d 将序列用指定字符串分割连接(序列可以是列表, 元组, 字符串)
print(var_str3.ljust(10, '*')) #test****** 字符串右填充
print('Test001'.lower()) #test001 大写字符转小写
print(' trim '.lstrip()) #trim开头的空白字符, 可以指定字符
var_trans1 = 'abcdefg'; var_trans2 = '1234567'
transtab = str.maketrans(var_trans1, var_trans2)
print('this is an example'.translate(transtab)) #this is 1n 5x1mpl5 创建映射转换表, 替换目标字符串
print(max('2323adfaP')) #f 返回最大的字符
print(min('2323adfaP')) #2 返回最小的字符
print(var_str3.replace('t', 'g', 1)) #gest 替换指定字符串为另一个, 不超过指定次数
print(var_str3.rfind('t')) #3 和find功能相同, 只不过从右边开始
print(var_str3.rindex('t')) #3 和index功能相同, 只不过从右侧开始
print('restrip '.rstrip()) #trim结尾的空白字符
print('||ab||cd||ef'.split("||", 2)) #['', 'ab', 'cd||ef'] 截取指定个(可以不指定)字符串, 返回列表
print('\r\n段落1\r段落2\n'.splitlines()) #['', '段落1', '段落2'] 用\r,\r\n,\n来截取, 返回列表
print(var_str3.startswith('e', 1, len(var_str3))) #True 判断指定范围是否以某个字符串开头
print('\r 完全trim \n'.strip()) #首位trim
print('abcDEF'.swapcase()) #ABCdef 大小写反转
print('i love peace'.title()) #I Love Peace 每个单词首字母大写
print('I Love peace'.istitle()) #False 判断是否每一个单词首字母都大写
print('i love peace'.upper()) #I LOVE PEACE
print(var_str3.zfill(10)) #000000test 左侧补零
print('10.0'.isdecimal()) #False 判断是否只包含十进制字符
网友评论