[英]My program doesn't recognize .isdigit as True
在我的程序中,我要检查笔划符号是否是公共数字(0-9)
.isnumeral的工作方式很奇怪,因为它把字母(az)视为True,所以我潜入其中,然后发现.isnumeral实际上并不是专门搜索我想要的数字。 通过手册,我发现.isdigit但:
dna = 'a3'
start = 0
end = 1
if dna[end].isdigit is True:
print('Yes')
它不起作用,并且“是”未按预期显示。
if dna[end].isdigit is True:
isdigit()
是函数,而不是属性。
您忘记了最后的括号,因此,您指的是函数对象本身 ,而不是调用函数的结果 。
您实际上必须调用isdigit()
方法:
dna = 'a3'
start = 0
end = 1
if dna[end].isdigit():
print('Yes')
这给出了您期望的答案,对。
如果执行dna[end].isdigit
它只是给出一个对象<built-in method isdigit of str object at address>
,该<built-in method isdigit of str object at address>
将不求值。
dna[end].isdigit
在这种情况下是指str.isdigit
函数。 如果您执行print(type(dna[end].isdigit))
您将明白我的意思。
要调用该函数,请在if dna[end].isdigit():
添加如下的括号if dna[end].isdigit():
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.