2

だから私はファイルを持っています、それをmain.pyと名付けましょう

その中に、ext.pyと呼ぶ外部ファイルをインポートしました

ここで、これらがext.pyのコンテンツであるとしましょう。

def how():
    tangerine = 1

そして、これらがmain.pyのコンテンツであるとしましょう:

import ext
print #Not sure what or how

私が知りたいのは、メインファイルを介してタンジェリン変数を出力するために何をすべきかです。このようなもの:ext.how()。tangerineを出力しますか?ext.tangerineと入力すると、tangerineはhow()関数でのみ定義されているため、機能しません。

本当に必要なので助けてください!

4

2 に答える 2

4

グローバルを使用する代わりに-関数からタンジェリンの値を返します-:

def how():
     tangerine = 1    
     return tangerine

main.py-で:

 import ext
 print ext.how()
于 2013-03-10T17:55:11.217 に答える
1

おそらくクラスを使用する必要があります。

def how():
    tangerine = 1

他のポスターで言及されているようにグローバルにアクセス可能にすると、変数はグローバル名前空間でアクセス可能になります。つまり、メソッドの外部で変数を変更するたびに、関数の機能が低下する可能性があります。 「グローバル状態」に依存しているためです。ほとんどの場合、望ましくない悪いことが起こる可能性があります。

クラス/オブジェクトの使用は難しくありません。

class Know(object):
    def __init__(self, t):
        self.tangerine = t
    def how(self):
        self.tangerine += 1

iknow = Know(0)
iknow.how()

youknow.Know(9)
youknow.how()
print youknow.tangerine
>>> 10
print iknow.tangerine
>>> 1
于 2013-03-10T18:07:50.127 に答える