- blogs:
- cles::blog
2018/05/07

Python で関数名を付け替える

python 関数は first-class なので、当たり前のことながら実行中に関数の名前を付け替えることができます。
途中で関数名を変更するのはあまり行儀がよくありませんが、いちおうこんな感じで名前のスワップができることは確認できました。
$ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def a():
... return 'A'
...
>>> def b():
... return 'B'
...
>>> print("a():"+a())
a():A
>>> print("b():"+b())
b():B
>>>
>>> tmp = a
>>> a = b
>>> b = tmp
>>>
>>> print("a():"+a())
a():B
>>> print("b():"+b())
b():A
>>> tmp
<function a at 0x768b0530>
>>> del tmp
>>> tmp
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'tmp' is not defined
>>>
入れ替えをするために tmp という一時変数を使っていますが、これについては明示的に del で削除してやらないと予期せず関数が残りっぱなしになってしまうので注意が必要です。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10155
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112131)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110778)
3 . 年次の人間ドックへ(110372)
4 . 2023 年分の確定申告完了!(1つめ)(109918)
5 . 三菱鉛筆がラミーを買収(109819)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110778)
3 . 年次の人間ドックへ(110372)
4 . 2023 年分の確定申告完了!(1つめ)(109918)
5 . 三菱鉛筆がラミーを買収(109819)
cles::blogについて
Referrers