2012-04-27 7 views
3

関数を呼び出すために、私はGoogleがYouTubeでいくつかのビデオを見て、彼らは関数を作成して呼び出す方法を示していた基本的なレッスンでました:パイソン - Googleのレッスン - 定型

def main(): 
    print 'Hello' 

if __name__ == '__main__': # this is the boilerplate portion 
    main() 

我々がする必要があるのはなぜ私たちはただのコードは次のように見ることができるならば、その定型を作成するために余分なステップを取る:

def main(): 
    print 'Hello' 

main() 

出力は余分なコードなしでまったく同じになります。

-BK

+3

main関数を呼び出さずにファイルをインポートする場合は、 'if __name __ ==" __ main __ "'が必要です。 –

+1

http://stackoverflow.com/questions/419163/what-does-if-name-main-doにはいくつかの良い回答が含まれています –

+0

さて、私は今それが何であるかを理解しています。それは間違いなく呼び出されるまで実行されないようにします。ただし、このファイルにrunオプションを含めないでコードを単純化してクリーンにするだけではなく、インポートするファイルで実行するだけです。少ないキーストローク? –

答えて

2

これはテスト用です。次に、name/mainセクションの下でテストすることができるモジュールを作成し、コードが正しく動作することを確認します。しかし、別のモジュールから呼び出すときには、このセクションでテストしても呼び出されません。

+0

ああ、私は今理解できると思います...モジュールをテストして、それが実際に何をしているかを素早く確認することができます。呼び出されない限り。 main()を繰り返し入力したり削除したりしたくない場合は、それを変更して動作の仕方を確認してください。 –

+0

はい、そうです。 – Denis

0

これは、ファイルを別のファイルによってインポートされたときにその部分が実行されませんのでです。 ファイルが実際に最初の '呼び出し'である場合にのみ、コードが実行されます。

+0

異なるファイルでの関数の自発的実行が懸念される場合は、その部分をファイルから除外し、新しいファイルでのみ実行するのはなぜでしょうか。だから、あなたはそのようなファイルをメインからインポートしてから、新しいファイルにmain()をタイプして実行することができます。 –