在Python中为函数创建别名
我想要一个和 print
函数功能一样的函数,叫做 debug
。在Python中,我该怎么给一个函数起个别名呢?
5 个回答
3
你可以像下面这样定义一个新的函数 debug
:
def debug(text):
print text
16
在Python 2.x中,你可以这样做:
def debug(s):
print(s)
而在Python 3.x中,你只需要用赋值就可以了:
debug = print
37
在Python 3中,你可以简单地把 debug = print
这样写。
但是在Python 2中,print
不是一个函数。也就是说,你不能像在Python 3那样,给自己一个和 print
完全一样的 debug
语句(比如 print 1,
或者 print 1 >> sys.stderr
等等)。你能做的最好的办法就是给 print
语句写一个包装器:
def debug(s):
print s
你也可以禁用 print
语句,然后使用Python 3的版本:
from __future__ import print_function
debug = print
如果这样做的话,你就不能再使用语句版本的 print x
了。如果你不想破坏旧代码,这可能是个不错的选择。