2016-04-12 6 views
5
#!/usr/bin/env python 
import this, that, other, stuff 
class SomeObject(object): 
    pass 

def some_function(*args,**kwargs): 
    pass 

if __name__ == '__main__': 
    print("This only executes when %s is executed rather than imported" % __file__) 

上記のコードは何をしていますか? 「これを、他の、物事をインポートする」とは何ですか?

The Zen of Python, by Tim Peters 

Beautiful is better than ugly. 
Explicit is better than implicit. 
Simple is better than complex. 
Complex is better than complicated. 
Flat is better than nested. 
Sparse is better than dense. 
Readability counts. 
Special cases aren't special enough to break the rules. 
Although practicality beats purity. 
Errors should never pass silently. 
Unless explicitly silenced. 
In the face of ambiguity, refuse the temptation to guess. 
There should be one-- and preferably only one --obvious way to do it. 
Although that way may not be obvious at first unless you're Dutch. 
Now is better than never. 
Although never is often better than *right* now. 
If the implementation is hard to explain, it's a bad idea. 
If the implementation is easy to explain, it may be a good idea. 
Namespaces are one honking great idea -- let's do more of those! 

を次のように私は私が知っているのpythonに新しいが、非常に好奇心が強いの出力を取得しています。私を助けてください。

+4

Pythonで隠されたイースターエッグです'import this'を実行すると、得られるテキストです。 – RemcoGerlich

+1

実際にthis.py、other.py、stuff.pyという名前の他のモジュールを持っていないのであれば、動作していないサンプルコードをコピーしたようです。それはまさにそのように動作するはずがありません。 – RemcoGerlich

答えて

5

は、次の操作を実行してください:

import this 

あなたは次の操作を行いPythonインタプリタであれば一人でこの行は、インタプリタ出力のPythonの禅

0

ようになります:1)ヘルプ()2 )modules - モジュールのリストが表示されます。 "this"はリストにあります。単に "this"(引用符なし)と入力してください - PythonのZENを含んでいます。孤独な輸入はあなたに同じ出力を与えるでしょう。しかし、Pythonモジュールの内容を確認し、リストされたモジュール名を入力して参照する場所です。コードは単なる例に過ぎません。

0
import this 

は、Tim PetersのZen of Pythonです。ファイルがどのように(直接またはインポートによって)実行されたかにかかわらずインポートであるため、ブロックはprint()呼び出しで正しくありません。コンピュータにthat.py,other.pystuff.pyがある場合を除き、コードを直接実行するかどうかにかかわらず、結果は同じになります。これらのモジュール(thatother、およびstuff)の詩にもかかわらず、イースターエッグ:)

0

ではありません、それはこの方法のようthis.pyでエンコードされた印刷機能です:

$ touch test.py 
$ echo "print('Zen of Python')" > test.py 
$ python -c "import test" 
Zen of Python 
関連する問題