|
发表于 2021-5-19 10:55:55
|
显示全部楼层
**字符串3**
判断和检测(返回的都应该是一个布尔类型的值,即True或者False):startswitb(prefix[,start[,end]]) endswith(suffix[,start[,end]])
isupper() islower() istitle() isalpha() isascii() isspace() isprintable()
isdecimal() isdigit() isnumeric() isalnum() isidentifier()
startswitb(prefix[,start[,end]]:用于判断它这个参数指定的子字符串是否出现在字符串的起始位置(如果存在 prefix 参数指定的前缀子字符串,则返回 True,否则返回 False);可选参数 start 和 end 用于指定起始和结束位置;prefix 参数允许以元组的形式提供多个子字符串
>>> x = "我爱Python"
>>> x.startswith("我")
True
>>> x.startswith("小甲鱼")
False
>>> x.startswith("我",1)
False
>>> x.startswith("爱",1)
True
endswith(suffix[,start[,end]]):用于判断它这个参数指定的子字符串是否出现在字符串的结束位置(如果字符串是以 suffix 指定的子字符串为结尾,那么返回 True,否则返回 False);可选参数 start 和 end 用于指定起始和结束位置;suffix 参数允许以元组的形式提供多个子字符串
>>> x.endswith("Python")
True
>>> x.endswith("Py")
False
>>> x.endswith("Py",0,4)
True
>>> if x.startswith(("你", "我", "她")):
print("总有人喜爱Python")
总有人喜爱Python
[使用元组]
istitle():如果字符串是标题化字符串(所有的单词都是以大写开始,其余字母均小写)则返回 True,否则返回 False
>>> x = "I love Python"
>>> x.istitle()
False
>>> x = "I Love Python"
>>> x.istitle()
True
isupper():如果字符串中至少包含一个区分大小写的英文字母,并且这些字母都是大写,则返回 True,否则返回 False
>>> x.isupper()
False
>>> x.upper().isupper()
True
[在一个语句中连续调用多个方法,Python是从左往右依次进行调用;Python是先通过调用upper()方法将字符串全体成员转换成大写字母的新字符串,然后再调用isupper()方法来进行判断]
islower():如果字符串中至少包含一个区分大小写的英文字母,并且这些字母都是小写,则返回 True,否则返回 False
>>> x.islower()
False
isalpha():如果字符串中至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
>>> x.isalpha()
False
>>> "IlovePython".isalpha()
True
>>> "I爱Python".isalpha()
True
[空格不是字母,中文支持检测为字母]
isspace():如果字符串中至少有一个字符并且所有字符都是空格,则返回 True,否则返回 False
>>> " \n".isspace()
True
[Tab,空格,转义字符都是空白]
isprintable():如果字符串是可以打印的内容则返回 True,否则返回 False
>>> x.isprintable()
True
>>> "I love Fishc\n".isprintable()
False
[\n这个转义字符不是一个可打印字符]
isdecimal():如果字符串中至少有一个字符并且所有字符都是十进制数字则返回 True,否则返回 False
isdigit():如果字符串中至少有一个字符并且所有字符都是数字则返回 True,否则返回 False
isnumeric():如果字符串中至少有一个字符并且所有字符都是数字则返回 True,否则返回 False
>>> x = "12345"
>>> x.isdecimal()
True
>>> x.isdigit()
True
>>> x.isnumeric()
True
>>> x = "22"
>>> x.isdecimal()
False
>>> x.isdigit()
True
>>> x.isnumeric()
True
>>> x = "ⅠⅡⅢⅣⅤ"
>>> x.isdecimal()
False
>>> x.isdigit()
False
>>> x.isnumeric()
True
>>> x = "一二三四五"
>>> x.isdecimal()
False
>>> x.isdigit()
False
>>> x.isnumeric()
True
isalnum():如果字符串中至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False【只要isalpha(),isdecimal(),isdigit(),isnumeric()中任意一个方法返回True,那么结果都True】
isidentifier():如果字符串是一个合法的 Python 标识符则返回 True,否则返回 False;调用 keyword.iskeyword(s) 可以检测字符串是否一个保留标识符(比如 "if" 或 "for")
>>> "I am a good guy".isidentifier()
False
>>> "I_am_a_good_guy".isidentifier()
True
>>> "Fishc520".isidentifier()
True
>>> "520Fishc".isidentifier()
False
[将空格全部替换成下划线,标识符不能以数字为开头]
如果你想判断一个字符串是否为Python的保留标识符(if,for,while等关键字),那么我们可以使用keyword模块的iskeyword函数来进行实现,要使用模块,需先导入模块
>>> import keyword
>>> keyword.iskeyword("if")
True
>>> keyword.iskeyword("py")
False |
|