标签:字符串拼接 format exp name module width -- size def
一、字符串拼接
str.join(sequence) 将序列(sequence)中的元素以指定的字符(_)连接生成一个新的字符串
a = ‘123‘ b = ‘abc‘ c = ‘ABC‘ str1 = ‘_‘.join([a, b, c]) print(str1)
运行结果:
123_abc_ABC
二、Python自定义方法
1、str.center(width[, fillchar]) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格(且只能是单个字符)
str1 = ‘hello world!‘ str_center = str1.center(50, ‘-‘) print(str_center)
运行结果:
-------------------hello world!-------------------
2、tr.endswith(suffix[, start[, end]]) 用于判断字符串是否以指定后缀(suffix 可以是一个字符串或者是一个元素)结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置
str1 = ‘hello world!‘
print(str1.endswith(‘ld!‘)) # 判断str1是否以‘ld!‘结尾
print(str1.endswith(‘lo‘, 2, 5)) # 判断str1中第2位开始到第5位结束的截取字符串(‘llo‘)是否以lo结尾
运行结果:
True
True
3、str.startswith(str, beg=0,end=len(string)) 用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
str1 = ‘hello world!‘
print(str1.startswith(‘hel‘)) # 判断字符串(‘hello world!‘)是否以(‘hel‘)开头
print(str1.startswith(‘llo‘, 2, 8)) # 判断字符串(‘llo wo‘)是否以(‘llo‘)开头
print(str1.startswith(‘llo‘, 3, 8)) # 判断字符串(‘lo wor‘)是否以(‘llo‘)开头
运行结果:
True
True
False
4、str.expandtabs(tabsize=8) 把字符串中的 tab 符号(‘\t‘)转为空格,tab 符号(‘\t‘)默认的空格数是 8
str1 = ‘hello\tworld!‘ print(str1.expandtabs(20)) # 制定制表符\t的宽度为20
运行结果:
hello world!
5、str.find(str, beg=0, end=len(string)) 检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1
str1 = ‘hello world!‘ print(str1.find(‘w‘)) # 查找指定的元素(‘w‘)的第一个索引值并返回 print(str1.find(‘g‘)) # 查找的元素不存在返回-1
运行结果:
6 -1
6、str.format() Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 %;可以接受不限个参数,位置可以不按顺序
str1 = ‘hello world, {name} is {age}‘ print(str1.format(name=‘Quincy‘, age=29)) # 格式化输出 dic1 = {"name": "Python", "age": "15"} print(str1.format(**dic1)) # 通过字典设置参数
运行结果:
hello world, Quincy is 29 hello world, Python is 15
7、str.index(str, beg=0, end=len(string)) 检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常
str1 = ‘hello world!‘
print("‘el‘在字符串str1中的位置是:%d" % str1.index(‘el‘))
运行结果:
‘el‘在字符串str1中的位置是:1
查询索引失败报异常:
str1 = ‘hello world!‘ print(str1.index(‘gg‘))
Traceback (most recent call last):
File "C:/Python_Learning/PyFullStack/Week2/Day1/String_1.py", line 43, in <module>
print(str1.index(‘gg‘))
ValueError: substring not found
8、str.isalnum() 检测字符串是否由字母和数字组成
str2 = "abc1234" str3 = "abc_1234" print(str2.isalnum()) # 判断是否为字母或数字 print(str3.isalnum())
运行结果:
True
False
9、str.isdecimal() 检查字符串是否只包含十进制字符。这种方法只存在于unicode对象(注意:定义一个十进制字符串,只需要在字符串前添加 ‘u‘ 前缀即可),
如果字符串是否只包含十进制字符返回True,否则返回False。
str4 = u"12345" str5 = u"12345abc" print(str4.isdecimal()) # 判断是否为十进制数字 print(str5.isdecimal())
运行结果:
True
False
10、str.isalpha() 检测字符串是否只由字母组成,如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
str6 = "PythonIsFun"
str7 = "Python Is Fun"
str8 = "Python3"
print(str6.isalpha()) # 检测字符串是否只由字母组
print(str7.isalpha())
print(str8.isalpha())
print("".isalpha())
运行结果:
True
False
False
False
11、str.isidentifier() 用于判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法,如果字符串是有效的 Python 标识符返回 True,否则返回 False
# 判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法 print("if".isidentifier()) # True print("def".isidentifier()) # True print("class".isidentifier()) # True print("_a".isidentifier()) # True print("中国123a".isidentifier()) # True print("123".isidentifier()) # False print("3a".isidentifier()) # False print("".isidentifier()) # False
运行结果:
True
True
True
True
True
False
False
False
12、str.islower() 检测字符串是否由小写字母组成,如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
print(‘abc‘.islower())
print(‘Abc‘.islower())
print(‘123bc‘.islower())
运行结果:
True
False
True
13、str.isupper() 检测字符串中所有的字母是否都为大写,如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
print(‘ABC‘.isupper()) print(‘Abc‘.isupper()) print(‘A123‘.isupper())
运行结果:
True
False
True
14、str.isspace() 检测字符串是否只由空格组成,如果字符串中只包含空格,则返回 True,否则返回 False
print(‘ ‘.isspace()) # 判断字符串是否为空格 print(‘This is a test‘.isspace()) # 判断字符串是否为空格
运行结果:
True
False
15、str.istitle() 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写,如果字符串中所有的单词拼写首字母为大写,且其他字母为小写则返回 True,否则返回 False
str1 = "This Is String Example" str2 = "This is String example" print(str1.istitle()) # 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写 print(str2.istitle()) # 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
运行结果:
True
False
16、str.isnumeric() 检测字符串是否只由数字组成。这种方法是只针对unicode对象(注:定义一个字符串为Unicode,只需要在字符串前添加 ‘u‘ 前缀即可)
str1 = u"this2009" str2 = u"20090728" print(str1.isnumeric()) # 检测字符串是否只由数字组成。这种方法是只针对unicode对象 print(str2.isnumeric()) # 检测字符串是否只由数字组成。这种方法是只针对unicode对象
运行结果:
False
True
17、str.lower() 转换字符串中所有大写字符为小写
str1 = "THIS IS STRING EXAMPLE" str2 = "This is String example" print(str1.lower()) print(str2.lower())
运行结果:
this is string example this is string example
18、str.upper() 将字符串中的小写字母转为大写字母
str1 = "this is string example"
str2 = "This Is String Example"
print(str1.upper())
print(str2.upper())
运行结果:
THIS IS STRING EXAMPLE
THIS IS STRING EXAMPLE
19、str.swapcase() 用于对字符串的大小写字母进行转换
str1 = "this is string example" str2 = "This Is String Example" print(str1.swapcase()) # 大小写反转 print(str2.swapcase()) # 大小写反转
运行结果:
THIS IS STRING EXAMPLE
tHIS iS sTRING eXAMPLE
20、str.ljust(width[, fillchar]) 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
print(‘Progress:80% ‘.ljust(80, ‘*‘))
运行结果:
Progress:80% *******************************************************************
21、str.rjust(width[, fillchar]) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
print(‘Progress:80%‘.rjust(80, ‘-‘))
运行结果:
--------------------------------------------------------------------Progress:80%
22、str.strip([chars]) 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列(注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符)
str1 = ‘ymy lovely\tbaby girl y‘
print(str1.strip(‘y‘)) # 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
运行结果:
my lovely baby girl
23、str.lstrip([chars]) 用于截掉字符串左边的空格或指定字符
str.rstrip([chars]) 删除 string 字符串末尾的指定字符(默认为空格)
str1 = ‘ymy lovely\tbaby girl y‘ print(str1.lstrip(‘y‘)) # 用于截掉字符串左边的空格或指定字符 print(str1.rstrip(‘y‘)) # 用于截掉字符串末尾的空格或指定字符
运行结果:
my lovely baby girl y
ymy lovely baby girl
24、str.split(str="", num=string.count(str)) 通过指定分隔符对字符串进行切片,如果参数 num(分割次数。默认为 -1, 即分隔所有)有指定值,则分隔 num+1 个子字符串(str默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等)
str1 = ‘Hello, This is a string test.‘ print(str1.split()) # 以默认空格符进行分割 print(str1.split(‘ ‘, 2)) # 以空格符进行分割2+1次 print(str1.split(‘,‘)) # 以制定字符‘,‘进行分割
运行结果:
[‘Hello,‘, ‘This‘, ‘is‘, ‘a‘, ‘string‘, ‘test.‘] [‘Hello,‘, ‘This‘, ‘is a string test.‘] [‘Hello‘, ‘ This is a string test.‘]
25、str.rsplit(str="", num=string.count(str)) 类似于split,区别是从字符串最后面开始分割
str1 = ‘Hello, This is a string test, I like Python.‘
print(str1.rsplit()) # 以默认空格符从最后面开始进行分割
print(str1.rsplit(‘ ‘, 2)) # 以空格符从最后面开始进行分割2+1次
print(str1.rsplit(‘,‘, 1)) # 以制定字符‘,‘从最后面开始进行分割
运行结果:
[‘Hello,‘, ‘This‘, ‘is‘, ‘a‘, ‘string‘, ‘test,‘, ‘I‘, ‘like‘, ‘Python.‘] [‘Hello, This is a string test, I‘, ‘like‘, ‘Python.‘] [‘Hello, This is a string test‘, ‘ I like Python.‘]
26、str.rfind(str, beg=0 end=len(string)) 返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1
str1 = ‘This is a string test‘ print(str1.rfind(‘s‘)) # 返回字符串最后一次出现s的位置(从右向左查询),如果没有匹配项则返回-1
运行结果:
19
27、str.title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
str1 = ‘this is a string test‘ print(str1.title()) # 字符串首字母大写
运行结果:
This Is A String Test
标签:字符串拼接 format exp name module width -- size def
原文地址:https://www.cnblogs.com/quinc1201/p/11260349.html