字符串是以单引号或者双引号包括的任意文本,字符串不可变。
格式:str1 = ‘name1’
代码如下:
- str1 = '字符串1'
- str2 = "字符\r\n串2"
-
- print(str1)
- print(str2)
结果:
- 字符串1
- 字符
- 串2
通过符号+来对字符串进行连接操作。
代码如下:
- str3 = "my name is "
- str4 = "zhangsan"
- str5 = str3 + str4
- print(str5) # my name is zhangsan
代码如下:
- str6 = "good"
- print(str6 * 3) # goodgoodgood
通过索引下标查找字符串中的字符,索引从0开始
格式:字符串[下标]
代码如下:
- str7 = "my name is zhangsan"
- print(str7[1]) # y
- print(str7[-1]) # n
通过索引下标来截取字符串。
代码如下:
- str8 = "my name is li si"
- # 从给定起始下标开始截取到给定结束下标之前
- str9 = str8[3:6]
- # 从头截取到给定下标之前
- str10 = str8[:10]
- # 从给定下标开始截取到最后
- str11 = str8[6:]
-
- print(str9) # nam
- print(str10) # my name is
- print(str11) # e is li si
通过关键词in来判断字符串是否包含字符。
代码如下:
- str12 = "my name is li si"
- print("my" in str12) # True
- print("my1" in str12) # False
返回字符串的长度(中英文一致,空格也视为一个字符)。
代码如下:
- str13 = "十年饮冰 难凉热血"
- str13_2 = "snyb nlrx"
-
- print(len(str13)) # 9
- print(len(str13_2)) # 9
转换字符串中大写字母为小写字母。
转换字符串中小写字母为大写字母。
代码如下:
- str20 = 'Let go of that girl'
- print(str20.lower()) # let go of that girl
- print(str20.upper()) # LET GO OF THAT GIRL
转换字符串中小写字母为大写字母,大写字母为小写字母。
代码如下:
- str21 = 'Every minute counts'
-
- print(str21.swapcase()) # eVERY MINUTE COUNTS
首字母大写,其他小写。
代码如下:
- str22 = 'pRActice Makes Perfect'
- print(str22.capitalize()) # Practice makes perfect
每个单词的首字母大写。
代码如下:
- str23 = 'this is title'
- print(str23.title()) # This Is Title
计算特定字符数量,区别大小写。
代码如下:
- str24 = 'fear always springs from ignorance'
- # 计算f字符总数量
- print(str24.count('f')) # 2
- # 计算f字符 从下标3开始 到最后
- print(str24.count('f', 3)) # 1
- # 计算f字符 从下标3开始 到下标10
- print(str24.count('f', 3, 10)) # 0
从左到右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。
得到的第一次出现的下标,没有找到时返回-1。
从左往右检测str字符串是否包含在字符串中,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。
代码如下:
- str25 = 'first come, first served'
-
- print(str25.find('first')) # 0
- print(str25.find('First1')) # -1
- print(str25.find('first', 10, len(str25))) # 12
- print('-'*10) # ----------
- print(str25.rfind('first')) # 12
- print(str25.rfind('First1')) # -1
- print(str25.rfind('first', 10, len(str25))) # 12
从左到右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。
返回第一次出现的下标,没有返回-1。
从左到右检测str字符串是否包含在字符串中,返回最后一次出现的下标,没有也是返回-1。
代码如下:
- str26 = "if you make yourself an ass, don't complain if people ride you."
-
- print(str26.index('you')) # 3
- print(str26.index('if')) # 0
- print('-'*10) # ----------
- print(str26.rindex('you')) # 59
- print(str26.rindex('if')) # 44
移除字符串左侧指定的字符,默认为空格。
移除字符串右侧指定的字符,默认为空格。
移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
代码如下:
- str27 = ' There is plenty of fish in the sea.'
- print(str27.lstrip()) # There is plenty of fish in the sea.
-
- str28 = 'There is plenty of fish in the sea. '
- print(str28.rstrip()) # There is plenty of fish in the sea.
-
- str29 = ' There is plenty of fish in the sea. '
- print(str29.strip()) # There is plenty of fish in the sea.
主要用于将字符转换为整数,即获取ASCII给定字符的值;
返回的结果是对应字符的ASCII码。
函数是ord()函数的配对函数,主要用一个范围内的整数作参数,返回的结果是对应的字符,可以用十进制或者十六进制。
代码如下:
- str30 = 'a'
- print(ord(str30)) # 97
-
- str31 = chr(97)
- print(str31) # a
字符串转为列表。以str为分隔符截取字符串;num默认字符串长度;
如果设置则仅截取num个字符串,如果多余则不再截取。
代码如下:
- str32 = 'Art is long, but life is short.'
- print(str32.split(' ')) # ['Art', 'is', 'long,', 'but', 'life', 'is', 'short.']
- print(str32.split(' ', 3)) # ['Art', 'is', 'long,', 'but life is short.']
行分隔,按照(‘\r’,’\r\n’,’\n’)分隔返回
代码如下:
- str33 = '''健康的身体贵于黄金铸成的皇冠
- 远亲不如近邻
- 勇气和坚定是美德的精神和灵魂
- '''
- print(str33.splitlines())
结果:
['健康的身体贵于黄金铸成的皇冠', '远亲不如近邻', '勇气和坚定是美德的精神和灵魂']
列表转字符串。Join(seq)以指定的字符串分隔符,将seq中的所有元素组装成一个字符串。
代码如下:
- str34 = ['Walls', 'have', 'ears']
- print(' '.join(str34)) # Walls have ears
最大值
最小值
代码如下:
- print(max('123456')) # 6
- print(min('123456')) # 1
- print(max('zhangsan')) # z
- print(min('zhangsan')) # a
Replace(oldstr, newstr, count),用newstr替换oldstr,默认是全部替换。
如果指定了count,那么只替换前count个。
代码如下:
- str34 = 'Life is short and art is long'
- str35 = str34.replace('is', 'not is', 1)
- str36 = str34.replace('is', 'not is')
- print(str34) # Life is short and art is long
- print(str35) # Life not is short and art is long
- print(str36) # Life not is short and art not is long
- # 创建一个字符串映射表
- # 要替换的字符串 目标字符串
-
- t1 = str.maketrans('ax', '12')
- # a--1 x--2
-
- str37 = 'hao hao xue xi tian tian xiang shang'
- str38 = str37.translate(t1)
- print(str38) # h1o h1o 2ue 2i ti1n ti1n 2i1ng sh1ng
在给定范围内判断是否是以给定的字符串开头,如果没有指定范围,默认整个字符串。
在给定范围内判断是否是以给定的字符串结尾,如果没有指定范围,默认整个字符串。
代码如下:
- str39 = 'my name is zhangsan'
- print(str39.startswith('my')) # True
- print(str39.endswith('zhangsan')) # True
encode(encoding=’utf-8’, error=’strict’)
对字符串进行编码utf-8/gbk。
代码如下:
- str40 = 'first come, first served'
- data1 = str40.encode('utf-8')
- print(data1) # b'first come, first served'
对字符串进行解码。注意:要与编码时的编码格式一致。
代码如下:
- print(data1.decode('utf-8'))
-
- # first come, first served
当解码时编码不一致时,可以通过ignore参数设置来忽略解码时错误。
代码如下:
- str40 = 'first come, first served开心'
- data1 = str40.encode('utf-8', 'ignore')
-
- print(data1)
- # b'first come, first served\xe5\xbc\x80\xe5\xbf\x83'
-
- print(data1.decode('gbk', 'ignore'))
- # first come, first served寮蹇
如果字符串中至少有一个字符且所有的字符都是字母返回True,否则返回False。
代码如下:
- str41 = 'zhang san is a lawyer'
- print(str41.isalpha())
- # 因为有空格 所有返回False
如果字符串中至少有一个字符且所有的字符是字母或数字返回True,否则返回False。
代码如下:
- str42 = '123456'
- print(str42.isalnum()) # True
如果字符串中至少有一个英文字符且所有的字符都是大写字母返回True,否则返回False。
代码如下:
- print('ABC'.isupper()) # True
- print('ABC1'.isupper()) # True
- print('ABC#'.isupper()) # True
如果字符串中至少有一个英文字符且所有的字符都是小写字母返回True,否则返回False。
代码如下:
- print('abc'.islower()) # True
- print('abcA'.islower()) # False
- print('1'.islower()) # False
- print('abc1'.islower()) # True
- print('abc#'.islower()) # True
如果字符串是标题化的返回True,否则返回False。
代码如下:
- print('Zhang San'.istitle()) # True
- print('Zhang san'.istitle()) # False
- print('zhang san'.istitle()) # False
如果字符串中只包含数字字符返回True,否则返回False。
代码如下:
- print('123'.isdigit()) # True
- print('123a'.isdigit()) # False
同isdigit()
代码如下:
- print('123'.isnumeric()) # True
- print('123a'.isnumeric()) # False
字符串中只包含十进制字符。
代码如下:
- print('123'.isdecimal()) # True
- print('123B'.isdecimal()) # False
如果字符串中只包含空格则返回True,否则返回False。
代码如下:
- print(' '.isspace()) # True
- print(' '.isspace()) # True
- print('\t'.isspace()) # True
- print('\n'.isspace()) # True
- print('\r'.isspace()) # True
- print('not'.isspace()) # False
python 字符串内容和方法总结。