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_user = alert

ありがとうベン

于 2013-03-29T03:46:13.143 に答える