字符串详解:
1 # __author:"Cheng" 2 # date:2018/2/15 3 4 # String 字符串 5 6 7 # 创建字符串 8 # 单引号和双引号没区别,都一样 9 sam_1 = 'Hello world !' # 引号里面的就是字符串儿~ 字符串内容是Hello world! 引号只是一种格式。 10 11 # 重复输出字符串 12 print('宝露好帅~'*3) # 打印3次 宝露好帅 13 14 # 通过索引取字符串中字符 15 print('宝露好帅~'[2:]) 16 17 # 关键字in 18 # 判断值是否在字符串中,是 输出True , 否 输出False 19 print('好帅' in '宝露好帅~') 20 21 # 格式字符串 格式化输出 22 sam_2 = '宝露好帅~' 23 print('%s是2018年度关键词。'%sam_2) # 变量更加灵活,原理如下 24 print('%s是2018年度关键词。'%'阿露棒棒~') # 这是原理,但不采用 25 26 27 # 字符串拼接 28 29 # 方法一 不推荐,效率低: 30 sam_3 = '宝露' 31 sam_4 = '好帅' 32 sam_7 = '牛叉' 33 sam_5 = sam_3 + sam_4 34 print(sam_5) 35 36 # 方法二 join方法 很重要: 37 # join是字符串自带的属性 38 sam_6 = '>>>>'.join([sam_3, sam_4, sam_7]) # join前面的字符串会用来拼接括号里的字符串元组列表 39 print(sam_6) # 输出:宝露>>>>好帅>>>>牛叉
字符串的内置方法:
1 # __author:"Cheng" 2 # date:2018/2/15 3 4 test_string = 'hello world! {name}{age}' 5 # 格式化输出 6 print(''.join(['sam_3', 'sam_4', 'sam_7'])) # 列表变成字符串 7 print('>>>>'.join(['sam_3', 'sam_4', 'sam_7'])) # join前面的字符串会用来拼接括号里的字符串元组列表 8 print(test_string.format(name='宝露', age=27)) # ★★★ format()方法 里面放变量 可用作格式化输出 9 print(test_string.format_map({'name':'大宝露', 'age':18})) # format_map()方法 里面放字典 可用作格式化输出 10 11 print(test_string.count('l')) # ★★★ count()方法 数出该字符串中有几个l 12 print(test_string.capitalize()) # capitalize()方法 首字母大写 13 print(test_string.center(40, '-')) # ★★★ center()方法 字符串在中间,两边输出center中的值 14 print(test_string.ljust(40, '-')) # ljust() 方法 字符串在左边,右边输出ljust中的值 15 print(test_string.rjust(40, '-')) # rjust() 方法 字符串在右边,左边输出ljust中的值 16 17 print(test_string.endswith('rld')) # endswith()方法 bool运算,输入字符串判断以什么结尾,返回True或False 18 print(test_string.startswith('he')) # ★★★ startswith()方法 bool运算,输入字符串判断以什么开头,返回True或False 19 print(test_string.expandtabs(tabsize=20)) # expandtabs()设置空格数 ,在字符串中加入 后即可使用, 相当于按一次table键=4个空格 20 print(test_string.find('world')) # ★★★ find()方法 从左往右,帮助查找内容,返回该内容的索引值。如果内容重复,那么只返回第一个内容的索引 21 print(test_string.rfind('world')) # rfind()方法 从右往左,帮助查找内容,返回该内容从左往右的正常索引值。 22 23 print(test_string.index('d')) # index()方法 跟find()区别是:index()找不到内容时会报错,而find()不会 24 print(test_string.isalnum()) # isalnum()方法 判断是否全是数字 25 print(test_string.isdigit()) # isdigit()方法 判断是否是整型,小数也是False 26 print(test_string.isdecimal()) # isdecimal()方法 判断是否是10进制字符 27 print(test_string.isidentifier()) # isidentifier()方法 判断是否是非法字符,可以用来检测变量名是否合法 28 print(test_string.islower()) # islower()方法 判断是否全是小写 29 print(test_string.isupper()) # isupper()方法 判断是否全是大写 30 print(test_string.isspace()) # isspace()方法 判断是否是空格 31 print(test_string.istitle()) # istitle()方法 判断是否是标题(每个单词首字母大写) 32 33 print(test_string.lower()) # ★★★ lower()方法 全变小写 34 print(test_string.upper()) # ★★★ upper()方法 全变大写 35 print(test_string.swapcase()) # swapcase()方法 大小写反转(大写变小写,小写变大写) 36 print(test_string.strip()) # ★★★ strip() 方法 清除字符串开头及末尾的换行符、空格、table 37 print(test_string.lstrip()) # lstrip()方法 清除字符串开头的换行符、空格、table 38 print(test_string.rstrip()) # rstrip()方法 清除字符串末尾的换行符、空格、table 39 40 print(test_string.replace('world', '宝露', 1)) # ★★★ replace()方法 替换内容 ,如果有多个同样字符会被替换,后面写上次数,1就是只换第一个,不写默认全替换 41 42 print(test_string.split('l', 1)) # ★★★ split()方法 左到右分割,可填写分割次数(有重复的话)如果括号里不填写分割值,默认识别空格作为分割符,自动将它们分割成列表。如果括号里填写了分割值,那么分割后该值将不再出现 43 print(test_string.rsplit('l', 1)) # rsplit()方法 右到左分割,可填写分割次数(有重复的话)如果括号里不填写分割值,默认识别空格作为分割符,自动将它们分割成列表。如果括号里填写了分割值,那么分割后该值将不再出现 44 45 print(test_string.title()) # title()方法 将字符修改成title格式(单词开头大写)