这节讲的是有关字符串“判断”的14个方法,均返回布尔值。其中,startswith()和endswith()方法可以元组的形 ...
对于同一个语句中连续调用多个方法的情况,Python会从左往右依次调用各方法。这种写法很简洁,由此也不难看出Python很聪明面向对象的语言都是这么干的 **字符串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
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 >>> x = "我爱Python"
>>> x.startswith("我")
True
>>> x.startswith("小甲鱼")
False
>>> x.endswith("Python")
True
>>> x.endswith("Py")
False
>>> x.startswith("我",1)
False
>>> x.startswith("爱",1)
True
>>> x.endswith("Py",0,4)
True
>>> x = "她爱Python"
>>> if x.startswith(("你","我","她")):
SyntaxError: invalid character ':' (U+FF1A)
>>> if x.startswith(("你","我","她")):
print("总有人喜爱Python")
总有人喜爱Python
>>> x = "I love Python"
>>> x.istitle()
False
>>> x.isupper()
False
>>> x.upper().isupper()
True
>>> x.islower()
False
>>> x.lower().islower()
True
>>> x.isalpha()
False
>>> x ="IlovePython"
>>> x.isalpha()
True
>>> " \n".isspace()
True
>>> x.isprintable()
True
>>> "I love Python\n".ispritable()
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
"I love Python\n".ispritable()
AttributeError: 'str' object has no attribute 'ispritable'
>>> "I love Python\n".isprintable()
False
>>> x = "12345"
>>> x.isdecimal()
True
>>> x.isdigit()
True
>>> x.isnumeric()
True
>>> x ="22"
>>> x.decimal()
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
x.decimal()
AttributeError: 'str' object has no attribute 'decimal'
>>> x.isdecimal()
False
>>> x.isdigit()
True
>>> x.isnumeric()
True
>>> x = "Ⅰ"
>>> x = "ⅠⅡⅢⅣⅤ"
>>> x.isdecimal()
False
>>> x.isdigit()
False
>>> x.isnumeric()
True
>>> x = "一二三四五"
>>> x.isdecimal()
False
>>> x.isdigit()
False
>>> x.isnumeric()
True
>>> "I am a good guy".isidentifier()
False
>>> "I_am_good_guy".isidentifier()
True
>>> "FishC520".isidentifier()
True
>>> "520FishC".isidentifier()
False
>>> import keyword
>>> keyword.iskeyword("if")
True
>>> keyword.iskeyword("py")
False
>>>
>>> x = '我爱Python'
>>> x.startwith('我')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
x.startwith('我')
AttributeError: 'str' object has no attribute 'startwith'
>>> x.startswith('我')
True
>>> x.startswith('爱')
False
>>> x.endswith('Python')
True
>>> x.endswith('Py')
False
>>> x.startswith('我',1)
False
>>> x.startswith('爱',1)
True
>>> x.endswith('Py',0,4)
True
>>> x = '她爱Python'
>>> if x.startswith(('你','我','她')):
print('总有人喜欢python')
总有人喜欢python
>>> x = 'I love python'
>>> x.istitle()
False
>>> x.isupper()
False
>>> x.upper().isupper()
True
>>> x.islower()
False
>>> x.isalpha()
False
>>> 'Ilovepython'.isalpha()
True
>>> ' \n'isspace()
SyntaxError: invalid syntax
>>> " \n".isspace()
True
>>> x.isprintable()
True
>>> 'I Love python\n'.isprintable()
False
>>> x = '12345'
>>> x.isdecimal()
True
>>> x.isdigit()
True
>>> x.isnumeric()
True
>>> x = '2 ** 2'
>>> x.sidecimal()
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
x.sidecimal()
AttributeError: 'str' object has no attribute 'sidecimal'
>>> x = 'ⅠⅡⅢⅣ'
>>> x.decimal()
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
x.decimal()
AttributeError: 'str' object has no attribute 'decimal'
>>> x = 'ⅡⅢⅣ'
>>> x.isdecimai()
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
x.isdecimai()
AttributeError: 'str' object has no attribute 'isdecimai'
>>> x.isdecimal()
False
>>> x.isdigital()
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
x.isdigital()
AttributeError: 'str' object has no attribute 'isdigital'
>>> x.isdigit()
False
>>> x.isnumeric()
True
>>> x = '一二三四五'
>>> x.isnumeric()
True
>>> x.isdecimal
<built-in method isdecimal of str object at 0x0000019E21132F90>
>>> x.isdecima()
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
x.isdecima()
AttributeError: 'str' object has no attribute 'isdecima'
>>> x.isdecimal()
False
>>> x.isdigit()
False
>>> 'I am a good gay'.isidentifier()
False
>>> 'I_am_a_good_gay'.isidentifier()
True
>>> 'love520'.isidentifier()
True
>>> '520love'.isidentifier()
False
>>> import keyword
>>> keyword.iskeyword('if')
True
>>> keyword.iskeyword('py')
False
>>> 0,True
1,false 有转义符
2, isdecimal()最严格,isnumeric()最宽松
3, False ,这里面没有字母或数字
4, s.isalpha()
5, True ,是合法的Python标识符
0
text= input('请输入text:')
words=input('请输入words:')
i = 0
s = []
while i < len(words):
if ' ' not in words:
x = words
length = len(x)
n = 0
while n != -1:
n = text.find(x,n)
if n != -1:
s.append()
n += 1
break
elif words == ' ':
x = words[:i]
length = len(x)
n = 0
while n != -1:
n = text.find(x,n)
if n != -1:
s.append()
n += 1
words = words
i = 0
else:
i += 1
print(s)
1
s = input('请输入一个由字母构成的字符串:')
n = len(s)
for i in range(1,n):
if n % i == 0:
s1 = s[:i]
if s.count(s1) == n//i:
print('True')
break
else :
print('False')
打卡~~{:10_281:}{:10_281:} 学习打卡 就很好奇你们这群程序员是如何记住这么多不认识的玩意儿的 打卡 >>> x='我爱丝袜'
>>> x.startswith('我')
True
>>> x.startswith('我1')
False
>>> x.endswith('袜')
True
>>> x.endswith('丝袜')
True
>>> x.endswith('爱丝袜')
True
>>> x.endswith('我爱丝袜')
True
>>> x.startswith('丝',2)
True
>>> x.endswith('爱丝')
False
>>> x.endswith('爱丝',0,3)
True
>>> x='她爱丝袜'
>>> if x.startswith(('你','我','她')):
print('总有人爱丝袜')
总有人爱丝袜
>>> x = "I love Python"
>>> x.istitle()
False
>>> x = "I Love Python"
>>> x.istitle()
True
>>> x.upper().isupper()
True
>>> x.lower().islower()
True
>>> x.isalpha()
False
>>> x='IlovePython'
>>> x.isalpha()
True
>>> ' \n'.isspace()
True
>>> ' '.isspace()
True
>>> ' \t'.ispace()
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
' \t'.ispace()
AttributeError: 'str' object has no attribute 'ispace'
>>> ' \t\n'.isspace()
True
>>> '111\n'.isprintable()
False
>>> import keyword
>>> keyword.iskeyword('while')
True
>>> keyword.iskeyword('while1')
False
>>> '1ee'.isidentifier()
False
>>> 'ee1'.isidentifier()
True
>>> '贰'.isalnum()
True
>>> '②'.isalnum()
True
>>>
好多知识点 滴滴滴~打卡{:10_298:} {:5_109:} 学习学习(但感觉记不住需要多练习 ctx111 发表于 2022-8-5 12:57
>>> x='我爱丝袜'
>>> x.startswith('我')
True
丝袜很好 Learning...第一节评论只有一页的课. 标识符:可以用作变量命名的
各位觉得是看完视频再看书比较好呢,还是先看书再看视频好呢?{:10_256:}
页:
[1]
2