私は実際にはプログラマーではなく計算統計学者なので、複雑なアルゴリズムは理解できるかもしれませんが、単純なプログラミング構造は理解できません。
私の最初の問題は、モジュール関数が呼び出し可能かどうかを関数内でチェックすることです。私は周りを見回して、try(関数の呼び出し)- except(インポートモジュール)を使用して簡単にすることにしました。これを検索したいsys.modのですが、識別の問題が発生しています。
私の現在の問題は、モジュールから関数をインポートする方法がたくさんあるということです:import moduleは関数を として定義しますmodule.functionが、 としてfrom module import function定義しますfunction。言うまでもありませんfrom module import function as myfunction。したがって、同じ関数をいくつかの異なる方法で呼び出すことができます。
私の質問は次のとおりです。モジュールがロードされている場合にトレースできる関数の一意の「署名」はありますか? 実際の呼び出しエイリアスがあれば素晴らしいでしょう。
ps 以外にも:mod数学関数であり、ロードされたモジュールのリストを返しますが、python (2.7) は、次のようにして組み込み関数sys.modをシャドウしても文句を言いません。これは少し厄介だと思います-この種のシャドウイングをプログラムで回避する方法はありますか?modfrom sys import mod