强大自己是唯一获得幸福的途径,这是长远的,而非当下的玩乐!
以下会列出python3.6所有方法
str.capitalize() -- > 首字母大写,并且后面全小写
>>> name = "zwdsaAAAz"
>>> print(name.capitalize())
Zwdsaaaaz
>>>
str.casefold() -- > 转换字符串中所有大写字符为小写。
>>> name = "ZwdsaADDAAz"
>>> print(name.casefold())
zwdsaaddaaz
注:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语或英文)中把大写转换为小写的情况只能用 casefold() 方法。
str.center(width, fillchar=None) -- > 自定义宽度并使字符串居中,空白可自定义填充
>>> name = "zwzlp"
>>> print(name.center(20,'#'))
#######zwzlp########
>>>
str.count(sub, start=None, end=None) -- > 统计自定义start起始位置到end位置出现的sub次数
>>> name = "zwzlp"
>>> print(name.count('z',0,3))
2
>>>
str.encode(encoding='utf-8', errors='strict') -- >
encoding -- 要使用的编码,如"UTF-8"。
errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。
>>> str = "这是一个例子"
>>> print(str.encode('ASCII','strict'))
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
>>> print(str.encode('GBK','strict'))
b'\xd5\xe2\xca\xc7\xd2\xbb\xb8\xf6\xc0\xfd\xd7\xd3'
>>> print(str.encode('UTF-8','strict'))
b'\xe8\xbf\x99\xe6\x98\xaf\xe4\xb8\x80\xe4\xb8\xaa\xe4\xbe\x8b\xe5\xad\x90'
注:报错是因为ascii无法对照中文。
str.endswith(suffix, start=None, end=None) -- > 判断字符串是否以指定后缀结尾,是返回True,否则返回False
>>> name = "zwzlp"
>>> print(name.endswith("lp"))
True
>>> print(name.endswith("wzlp"))
True
>>> print(name.endswith("wz"))
False
>>> print(name.endswith("wz",0,3))
True
>>>
str.expandtabs(self, tabsize=8) -- > 把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8
name = "z w z l p"
print(name.expandtabs())
str.find(sub, start=None, end=None) -- > 检测字符串中是否包含子字符串 str,存在就返回索引,不存在返回-1
>>> name = "zwzlp"
>>> print(name.find("w"))
1
>>> print(name.find("w",2,4))
-1
>>>
str.format(self, *args, **kwargs) -- >
格式化字符串,增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
直接传值
>>> "{} {}".format("hello", "world")
'hello world'
>>> "{1} {1}".format("hello", "world")
'world world'
>>> "{1} {1} {0} ,{1}.".format("hello", "world")
'world world hello ,world.'
>>>
其他传值方法
>>> print("名字: {name},地址: {url}".format(name="zw",url="zwzlp.com"))
名字: zw,地址: zwzlp.com
>>>
>>> dic1 = {"name": "lp", "url": "lp.com"}
>>> print("名字: {name},地址: {url}".format(**dic1))
名字: lp,地址: lp.com
>>>
>>> l1 = ["zwzlp","zwzlp.com"]
>>> print("名字: {0[0]},地址: {0[1]}".format(l1))
名字: zwzlp,地址: zwzlp.com
>>>
str.format_map(mapping) -- > 用法类似于format(),这个溜了溜了。
str.index(sub, start=None, end=None) -- > 等同于find,但是index找不到会报错,用find
str.isalnum() -- > 符串是否由字母和数字组成
>>> name = "zwzlp1314"
>>> print(name.isalnum())
True
>>>
str.isalpha() -- > 检测字符串是否只由字母组成
>>> name = "zwzlp1314"
>>> print(name.isalpha())
False
>>>
str.isdecimal() -- > 检查字符串是否只包含十进制字符。这种方法只存在于unicode对象
>>> num = "zwzlp1314"
>>> print(num.isdecimal())
False
>>> num = "1314"
>>> print(num.isdecimal())
True
>>>
str.isdigit() -- > 检测字符串是否只由数字组成
>>> num = "zwzlp1314"
>>> print(num.isdigit())
False
>>> num = "1314"
>>> print(num.isdigit())
True
>>>
str.isidentifier() -- >
str.islower() -- > 检测字符串是否由小写字母组成
>>> name = "zwzlp"
>>> print(name.islower())
True
>>> name = "Zwzlp"
>>> print(name.islower())
False
>>>
str.isnumeric() -- > 检测字符串是否只由数字组成。这种方法是只针对unicode对象。
>>> num = "zwzlp1314"
>>> print(num.isnumeric())
False
>>> num = "1314"
>>> print(num.isnumeric())
True
>>>
str.isprintable() -- > 判断字符串中所有的字符串都是可以通过repr表示成字符串,或者字符串是空的,返回True,否则返回False
>>> name.isprintable()
True
>>> name = ""
>>> name.isprintable()
True
>>> chr(1000000).isprintable()
False
>>>
str.isspace() -- > 检测字符串是否只由空白字符组成。
>>> str = " "
>>> print (str.isspace())
True
>>>
>>> str = "zwz lp le"
>>> print (str.isspace())
False
>>>
str.istitle() -- > 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
>>> str = "This Is String Example...Wow!!!"
>>> print (str.istitle())
True
>>> str = "This is string example....wow!!!"
>>> print (str.istitle())
False
>>>
str.isupper() -- > 检测字符串中所有的字母是否都为大写
>>> str = "THIS IS STRING EXAMPLE"
>>> print (str.isupper())
True
>>> str = "THIS is string example"
>>> print (str.isupper())
False
>>>
str.join(iterable) -- > 将序列中的元素以指定的字符连接生成一个新的字符串。
>>> s1 = "-"
>>> s2 = ""
>>> s = ("z", "w", "z", "l", "p")
>>> print(s1.join(s))
z-w-z-l-p
>>> print(s2.join(s))
zwzlp
>>>
str.ljust(width, fillchar=None) -- > 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
>>> name = "zwzlp"
>>> print(name.ljust(20,'-'))
zwzlp---------------
>>>
str.lower() -- > 转换字符串中所有大写字符为小写
>>> name = "ZwZLp"
>>> print(name.lower())
zwzlp
>>>
str.lstrip(chars=None) -- > 截掉字符串左边的空格或指定字符。
>>> name = " zwzlp"
>>> print(name.lstrip())
zwzlp
>>> name = "11111111111zwzlp "
>>> print(name.lstrip('1'))
zwzlp
>>>
str.maketrans(*args, **kwargs) -- > 用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
两个字符串的长度必须相同,为一一对应的关系。
>>> intab = 'zl'
>>> outtab = '26'
>>> name = 'zwzlp'
>>> print(name.maketrans(intab,outtab))
{122: 50, 108: 54}
>>> trtab = name.maketrans(intab,outtab)
>>> print(name.translate(trtab))
2w26p
>>>
str.partition(sep) -- > 用来根据指定的分隔符将字符串进行分割。
如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
>>> name = "z.w.z.lp"
>>> print(name.partition('.'))
('z', '.', 'w.z.lp')
>>>
str.replace(old, new, count=None) -- > 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
>>> name = "zwz lp zwzlp.com"
>>> print(name.replace("zwz", "zw"))
zw lp zwlp.com
>>> print(name.replace("zwz", "zw", 1))
zw lp zwzlp.com
>>>
str.rfind(sub, start=None, end=None) -- > 字符串最后一次出现的位置,如果没有匹配项则返回-1
>>> name = "zwzlp"
>>> print(name.rfind("z"))
2
>>> print(name.rfind("z",0,1))
0
>>> print(name.rfind("l",0,1))
-1
>>>
str.rindex(sub, start=None, end=None) -- > 等同于rfind,但是找不到会报错,用rfind
str.rjust(width, fillchar=None) -- > 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
>>> name = "zwzlp"
>>> print(name.rjust(20,'-'))
---------------zwzlp
>>>
str.rpartition(sep) -- > 类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。。
如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
>>> name = "z.w.z.lp"
>>> print(name.rpartition('.'))
('z.w.z', '.', 'lp')
>>>
str.rsplit(sep=None, maxsplit=-1) -- > 通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格、换行(\n)、制表符(\t)等。类似于 split() 方法,只不过是从字符串最后面开始分割。
>>> name = "zwz lp love"
>>> print(name.rsplit())
['zwz', 'lp', 'love']
>>> print(name.rsplit('l',1))
['zwz lp ', 'ove'] ## 由于rsplit是从右边开始,所以右边的l没了
>>>
str.rstrip(chars=None) -- > 删除 string 字符串末尾的指定字符(默认为空格).
>>> name = " zwz lp "
>>> print(name.rstrip())
zwz lp #末尾没空格了
>>>
>>> name = " zwz lp -----"
>>> print(name.rstrip('-'))
zwz lp #除了lp后面的一个空格,-都没了
>>>
str.split(sep=None, maxsplit=-1) -- > 指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
>>> name = "zwz lp love"
>>> print(name.split())
['zwz', 'lp', 'love']
>>> print(name.split('l',1))
['zwz ', 'p love']
>>> print(name.split('z'))
['', 'w', ' lp love']
>>>
str.splitlines(keepends=None) -- > 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
>>> name = "z\rwz\nlp\n"
>>> print(name.splitlines())
['z', 'wz', 'lp'] ## 默认为False
>>> print(name.splitlines(True))
['z\r', 'wz\n', 'lp\n']
>>>
str.startswith(prefix, start=None, end=None) -- > 用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
>>> name = "zwzlp"
>>> print(name.startswith('z'))
True
>>> print(name.startswith('Z')) #区分大小写
False
>>> print(name.startswith('Z', 1, 5)) #指定范围
False
>>>
str.strip(chars=None) -- > 用于移除字符串头尾指定的字符(默认为空格)或字符序列。
注:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
>>> name = " zw zl p "
>>> print(name.strip()) #默认删除空格
zw zl p
>>> name = " --- z w - zlp---"
>>> print(name.strip('-')) #由于开头多了一个空格,没有删除
--- z w - zlp
>>> name = "--- z w - zlp---" #顶格写则删除
>>> print(name.strip('-'))
z w - zlp
>>>
str.swapcase() -- > 用于对字符串的大小写字母进行转换
>>> name = "ZwzLP"
>>> print(name.swapcase())
zWZlp
>>>
str.title() -- > 返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写。
>>> name = "zwzLP"
>>> print(name.title())
Zwzlp
>>>
str.translate(table) -- > 根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
>>> bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
>>> print(b'zwzlp'.translate(bytes_tabtrans, b'o'))
b'ZWZLP'
>>>
>>> intab = 'zl'
>>> outtab = '26'
>>> name = 'zwzlp'
>>> print(name.maketrans(intab,outtab))
{122: 50, 108: 54}
>>> trtab = name.maketrans(intab,outtab)
>>> print(name.translate(trtab))
2w26p
>>>
str.upper() -- > 将字符串中的小写字母转为大写字母。
>>> name = "zwZlp"
>>> print(name.upper())
ZWZLP
>>>
str.zfill(width) -- > 返回指定长度的字符串,原字符串右对齐,前面填充0。
>>> name = "zwzlp"
>>> print(name.zfill(20))
000000000000000zwzlp
>>>