我是 python 的新手,但我很快就掌握了基础知识,并决定在我还在学习的时候开始尝试制作一个程序,因为我通过实际做事来学得最好。
所以我正在用python制作一个程序,它将添加多项式,我需要使用isdigit()
命令查看解析器中的字符是否是数字im。
我不想一直在我的代码中键入isdigit()
,例如n.isdigit()
,我想将它分配给一个变量t = 'isdigit()'
,然后键入n.t
. 这不起作用,那么有没有不输入整个命令的替代方法?
给定一个实例,您必须创建一个自定义函数或 lambda 来isdigit()
为您调用该方法:
t = lambda n: n.isdigit()
# ...
t(n) # returns the result of `n.isdigit()`
或者您可以存储对类方法的引用:
t = str.isdigit
# ...
t(n) # returns the result of `str.isdigit(n)`
和n
类型一样str
。
语法n.t
总是会查找t
为 上的属性,并且永远不会为此n
查询局部变量。t
虽然你可以用类似的东西开始你的代码t = str.isdigit
然后检查t(n)
(你不能让它成为字符串的属性,因为你不能从外部拦截属性查找),但这实际上是一个非常糟糕的主意。虽然打字速度更快,但阅读起来要困难得多。这会让你(或其他任何人)在几周后处理代码。这并不是因为对不必要的细节进行抽象是不好的(事实并非如此),这个片段根本不够复杂,无法从抽象中受益。任何可读的名称至少与 一样长isidigt
,因此您实际上无法赢得任何可读性。
您可以创建一个函数:
def t(n):
if n.isdigit():
return True
else:
return False
a = "a5b"
print t(a[1])
我不知道这是否是你要找的。