isidentifier()
- 释义
- 检查字符串是否是有效的 Python 标识符
- 返回
True
orFalse
>>> "def".isidentifier()
True
>>> "yorkfish".isidentifier()
True
>>> "_yorkfish".isidentifier()
True
>>> "123yorkfish".isidentifier()
False
>>> "yorkfish$".isidentifier()
False
>>> "鱼".isidentifier()
True
>>>
- 可以用来检查命名是否规范,但不区分“关键字”
islower()
- 释义
- 检查字符串中所有字符是否均小写
- 返回
True
orFalse
>>> "YorkFish".islower()
False
>>> "yorkFish".islower()
False
>>> "yorkfish".islower()
True
>>> "yorkfish123".islower()
True
>>>
isnumeric()
- 释义
- 检查字符串中所有字符是否均是数字字符
- 返回
True
orFalse
>>> "1234".isnumeric()
True
>>> "york1234".isnumeric()
False
>>>
isprintable()
- 释义
- 检查字符串是否可打印
- 返回
True
orFalse
>>> "YorkFish".isprintable()
True
>>> "York Fish".isprintable()
True
>>> "York
Fish".isprintable()
False
>>> "York Fish".isprintable()
False
>>> "".isprintable()
True
>>>
>>> "127".isprintable()
True
>>> "127"
'W'
>>> "128".isprintable()
False
>>> "128"
'
8'
>>>
isspace()
- 释义
- 检查字符串是否只包含空格
- 返回
True
orFalse
>>> "".isspace()
False
>>> " ".isspace()
True
>>> " 1 ".isspace()
False
>>>
istitle()
- 释义
- 检查字符串是否符合标题规则
- 返回
True
orFalse
>>> "What Makes a Joke Funny?".istitle()
False
>>> "What Makes A Joke Funny?".istitle()
True
>>>
- Python 只是单纯地把每个词切出来,判断首字母是否大写,非首字母是否小写
- 对标题而言,比如介词要保持原样,这个
istitle()
判断不了
isupper()
- 释义
- 检查字符串是否都是大写字符串
- 返回
True
orFalse
>>> "YORKFISH".isupper()
True
>>> "YORKFISH2019".isupper()
True
>>> "YORKFISh".isupper()
False
>>>
join(sub)
- 释义
- 连接字符串
- 效率高于
+
>>> '-'.join("YorkFish")
'Y-o-r-k-F-i-s-h'
>>> '-'.join(["york", "fish"])
'york-fish'
>>>
ljust(width)
- 释义
- 返回一个左对齐的字符串,并使用空格填充至长度为
width
的新字符串 - 若字符串比
width
长,则原样输出
- 返回一个左对齐的字符串,并使用空格填充至长度为
>>> "YorkFish".ljust(10)
'YorkFish '
>>> "YorkFish".ljust(5)
'YorkFish'
>>>
rjust(width)
用法类似,右对齐
lower()
- 释义:将字符串中所有的大写字母改为小写
>>> "YorkFish".lower()
'yorkfish'
>>> "YorkFish123".lower()
'yorkfish123'
upper()
用法相反,将字符串中所有的小写字母改为大写
lstrip()
- 释义:去掉字符串左侧第一波连续的空格
- 示例
>>> " YorkFish".lstrip()
'YorkFish'
>>>
rstrip()
用法类似,去掉字符串右侧第一波连续的空格strip()
用法类似,去掉字符串首尾的第一波连续的空格
maketrans(x, y=None, z=None, /)
Python3.4 起,
maketrans()
成为了内建函数
- 释义
- 返回一个可用于
str.translate()
的转换表,即用于给translate()
创建字符映射转换表 - 只有一个参数,它必须是一个有映射关系的数据
- 有两个参数,它们必须是长度相等的字符串,并且在生成的字典中,
x
中的每个字符将映射到字符在y
中的相对应的位置 - 有第三个参数,它必须是字符串,其字符在结果中将映射为
None
,即表示要删除的字符
- 返回一个可用于
- 示例见下面的
translate(table)
translate(table)
- 释义:
- 使用给定的转换表替换字符串中的每个字符
- 它必须是
Unicode
序数到Unicode
序数、字符串或None
的映射 - 该表必须通过
__getitem__
实现查找/索引,例如字典或列表 - 如果此操作引发
LookupError
,则不改变字符 - 映射到
None
的字符将被删除
例1
>>> a = str.maketrans("ABCDE", "12345") # 创建字符映射转换表
>>> b = str.maketrans("ABCDE", "12345", "789") # 创建字符映射转换表,并删除指定字符
>>> "ABCDE 67890 abcde".translate(a)
'12345 67890 abcde'
>>> "ABCDE 67890 abcde".translate(b)
'12345 60 abcde'
>>>
例2
>>> "abc".translate(str.maketrans({'a':'x', 'b':'y', 'c':'z'}))
'xyz'
>>>
>>> "abc".translate(str.maketrans('abc', 'xyz'))
'xyz'
>>>
>>> "abc".translate(str.maketrans('abc', 'xyz', 'b'))
'xz'
>>>
- 别想复杂了,就是一个“翻译”小工具
- 可用于 PythonChallenge 的第一题
partition(sub)
- 释义
- 如果找到子字符串
sub
,把字符串分成一个三元组(pre_sub, sub, fol_sub)
- 若字符串中不包含
sub
,则返回(原字符串, '', '')
- 如果找到子字符串
>>> "YorkFishIsNotFish".partition('F')
('York', 'F', 'ishIsNotFish')
>>> "YorkFishIsNotFish".partition('A')
('YorkFishIsNotFish', '', '')
>>>
>>> "YorkFishIsNotFish".rpartition('F') # 顺便看看 rpartition()
('YorkFishIsNot', 'F', 'ish')
>>>
rpartition(sub)
是从右边开始查找,见上例