2016-06-21 8 views
3

separate.py私は2つの別々のファイルを書いています.1つはクラスを含んでいて、もう1つはそれを呼びますが、1つを呼び出すとすべてのオブジェクトを作ります。どうして?

class foo(): 
     print 'a bunch of time consuming work' 

    class tryme(): 
     print 'try me'* 

main.py

from separate import * 

foo() 

ただし、両方を印刷:

a bunch of time consuming work 
try me 
+1

ちょっとしたヒント:python 3の準備にはprint( "...")のようなprintを使うべきです。 –

答えて

1

!あなただけのインスタンスを作成したい場合は ような何か:

class foo(): 
    def my_print(self): 
    print 'a bunch of time consuming work' 

をメインから私の印刷を呼びます!

f = foo() 
f.my_print 
1

あなたは、それはもう起こる文句を言わないあなたのクラスのためのinitを書く必要があります!あなたはprintコマンドを実行from separate import * を呼び出す

class foo(): 
    def __init__(self): 
    print('a bunch of time consuming work') 

class tryme(): 
    def __init__(self): 
    print ('try me') 
0

クラスのスコープ内のコマンドは静的に定義されているため、モジュールをインポートするときには、すべてをバインドするときに静的フィールドも開始されます。 @Tino Aはあなたに素晴らしいソリューションを与えましたが、に関する詳細を読むには、をpythonで試してみてください。this

関連する問題