在我的程序中,我要检查笔划符号是否为公共数字(0-9)
.isnumeral的工作方式很奇怪,因为它把字母(a-z)视为True,所以我潜入其中,发现.isnumeral实际上并不是专门搜索我想要的东西-数字。通过手册我发现了.isdigit但:
dna = 'a3'
start = 0
end = 1
if dna[end].isdigit is True:
print('Yes')
它不起作用,并且“是”未按预期显示。
答案 0 :(得分:4)
if dna[end].isdigit is True:
isdigit()
是一个函数,而不是属性。
您忘记了最后的括号,因此您指的是函数对象本身,而不是调用函数的 result 。
答案 1 :(得分:1)
您实际上必须调用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>
。
答案 2 :(得分:1)
dna[end].isdigit
是指str.isdigit
函数。
如果您进行print(type(dna[end].isdigit))
,您将会明白我的意思。
要调用该函数,请添加if dna[end].isdigit():
这样的括号。
答案 3 :(得分:1)