2

私はMatlabから来たpythonに数日取り組んでいますが、次の疑問があります:

m ファイルの最後に多くの関数が定義された matlab プログラムがありました。Matlab は、最初にそれらの関数を呼び出し、コードの最後で定義されている場合でも、これらの関数を認識します。

さて、pythonでは、pythonは関数を呼び出す前に関数の定義を知る必要があるため、関数を配置する最良の方法はわかりません。関数ごとに新しいファイルを作成したくありません。すべての機能をまとめたいのですが、わかりません。あなたが私を助けてくれることを願っています。

どうも、

4

3 に答える 3

5

すべての関数を使用できる別の方法は、実行したいすべてのことを実行する関数を追加することです。

def main():
    #do stuff
    f()
    g()
    ...

これをファイルの最後に追加します。

if __name__ == '__main__':
    main()

これは、ファイルがメイン ファイルである場合にのみ実行されます。ファイルを別のファイルからインポートすると、main() 内のすべてのコードが実行されるわけではありません。

于 2013-07-02T21:10:12.603 に答える
2

実際、Python では、関数を呼び出すために特定の順序で関数を宣言する必要はありません。

たとえば、これはうまくいきます:

def a():
  return b()

def b():
  return 1

a()
于 2013-07-02T20:42:07.117 に答える