Python字符串函数(中)

301 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

字符串判断

下面的字符串判断方法是用于字符串在各种情况下的判断和检测,所以其函数返回值都是布尔类型

startswith(prefix[, start[, end]])

函数用途:判断prefix参数指定的子字符串是否出现在字符串指定的起始位置,可选参数startend指定始末位置,默认是从字符串开头开始到字符串结尾

# 示例字符串
x = "小陈爱python"
# 判断小陈是否在字符串开头
x.startswith("小陈")
# 输出结果
True
# 更改起始位置
 x.startswith("小陈",1)
# 输出结果
False

除此之外,prefix参数还可以指定一个元组,只要元组里的任一元素匹配到就可以,例如:

x = "小陈爱python"
if x.startswith(("小刘", "小陈", "xiaochen")):
    print("是小陈,没错!")
# 输出结果
是小陈,没错!

endswith(suffix[, start[, end]])

函数用途:判断prefix参数指定的子字符串是否出现在字符串指定的结束位置,可选参数startend指定始末位置,默认是从字符串开头开始到字符串结尾

# 示例字符串
x = "小陈爱python"
# 判断小陈是否在字符串开头
x.endswith("python")
# 输出结果
True
# 更改结束位置
x.endswith("python", 0, 5)
# 输出结果
False

isupper()

函数用途:判断字符串的字母是否全部为大写

# 示例一
x = "I love python"
x.isupper()
# 输出结果
False
# 示例二
x = "I LOVE PYTHON"
x.isupper()
# 输出结果
True

islower()

函数用途:判断字符串的字母是否全部为小写

# 示例一
x = "I love python"
x.islower()
# 输出结果
False
# 示例二
x = "i love python"
x.islower()
# 输出结果
True

istitle()

函数用途:判断字符串的每个单词是否以大写字母开头,其他字母为小写

# 示例一
x = "I love python"
x.istitle()
# 输出结果
False
# 示例二
x = "I Love Python"
x.istitle()
# 输出结果
True

isalpha()

函数用途:判断一个字符串中是否全部由字母构成

# 示例一
x = "I love python"
x.isalpha()
# 输出结果
False       # 字符串中包含空格
# 示例二
x = "ILovePython"
x.isalpha()
# 输出结果
True

isspace()

函数用途:判断字符串是否为空白字符串

# 示例
x = "     \n"
x.isspace()
# 输出结果
True

isprintable()

函数用途:判断字符串中是否所有字符都是可打印的

# 示例一
x = "I love python"
x.isprintable()
# 输出结果
True
# 示例二
x = "I love python\n"
x.isprintable()
# 输出结果
False       # 转义字符不是可打印字符

isdecimal()、isdigit()、isnumeric()

这三个函数都是用来判断数字的,具体区别看示例:

# 示例一
x = "12345"
x.isdecimal()
x.isdigit()
x.isnumeric()
# 输出结果
True
True
True
# 示例二
x = "2²"
x.isdecimal()
x.isdigit()
x.isnumeric()
# 输出结果
False
True
True
# 示例三
x = "ⅠⅡⅢⅣⅤ"
x.isdecimal()
x.isdigit()
x.isnumeric()
# 输出结果
False
False
True
# 示例三
x = "一二三四五"
x.isdecimal()
x.isdigit()
x.isnumeric()
# 输出结果
False
False
True

可以发现isnumeric()函数接受的数字范围较大,但并不是函数接受数字范围越大越好,而是要根据自己代码需求选择适合的函数

isidentifier()

函数用途:判断字符串是否是一个合法的python标识符

# 示例一
"I love python".isidentifier()
# 输出结果
False
# 示例二
"I_love_python".isidentifier()
# 输出结果
True
# 示例三
"xiaochen666".isidentifier()
# 输出结果
True
# 示例四
"666xiaochen".isidentifier()
# 输出结果
False

iskeyword()

函数用途:判断一个字符串是否为python的保留标识符

iskeyword()函数是keyword模块里的,所以想要使用该函数就要先导入keyword模块

import keyword
# 示例一
keyword.iskeyword("if")
# 输出结果
True
# 示例二
keyword.iskeyword("py")
# 输出结果
False