1

例如,我有一个函数,比如说alert(). 如果有人调用,我希望该功能也能工作alert_user(),两者都具有相同的功能。我想它是这样的:

@synonym alert_user
def alert():
    print('hi!')

它会像这样工作:

>>> alert()
hi!
>>> alert_user()
hi!

有这样的事吗?

4

4 回答 4

9

装饰器(如您的示例中)无权访问封闭的命名空间,因此它无法为其装饰的事物创建新名称。但是,为您的函数添加别名很容易:

def alert():
    print('hi!')
alert_user = alert
于 2013-03-29T02:44:41.463 回答
3

这会给你你想要的

def alert():
    print('hi!')

alert_user = alert

>>> alert()
hi!
>>> alert_user()
hi!
于 2013-03-29T02:44:42.800 回答
2

函数是python中的第一级公民。只需添加alert_user = alert.

于 2013-03-29T03:02:21.763 回答
0

正如上面其他助手所说,您可以将 alert 定义为一个函数,然后给 alert 一个变量表示。

alert_user = alert

谢谢本

于 2013-03-29T03:46:13.143 回答