在Python中为函数创建别名

26 投票
5 回答
46807 浏览
提问于 2025-04-17 13:17

我想要一个和 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 了。如果你不想破坏旧代码,这可能是个不错的选择。

撰写回答