2011-10-09 31 views
31

Üzgünüm temel soru Eminim ama bunu anlayamıyorum. Başka bir dosyadan nasıl işlev çağırılır?

dosya pythonFunction.py denir, ben bu programı olduğunu varsayalım:

def function(): 
    return 'hello world' 

if __name__=='__main__': 
    print function() 
Ben başka bir programda diyoruz nasıl

?

yerine 'merhaba dünya' arasında
import pythonFunction as pythonFunction 
print pythonFunction.function 

, ben olsun ... Ben ilk dosya sınıf yaparak geçmişte yapmış, ama nasıl düzgün işlev ithal etmek merak: Denedim? o benim gerçek dosyasında, yardım etse, ben bir sözlük basıyorum Sen İşlevin kendisinin yerine, işlevini çağırarak sonucunu yazdırmak gerekiyor

cevap

36

: yapabilirsiniz import pythonFunction as pythonFunction yerine, ek

print pythonFunction.function() 

as maddesini ihmal: daha uygun ise

import pythonFunction 

, ayrıca from...import kullanabilirsiniz:

from pythonFunction import function 
print function() # no need for pythonFunction. 
+0

Teşekkür ederim, nasıl __name __ == '__ main__' diye adlandırabilirim: ya da bu işlevi çağırmanın tek yolu nedir? onun güzel, ama ben küresel değişken olmayan değişkenler hakkında hatalar alıyorum, bunu değiştirebilirim ama sadece – Lostsoul

+2

@ Lostsoul'u merak ediyordum: Ne yazık ki, başka bir modülden 'if __name__ == '__main __'' bölümüne çağrı yapamazsınız. Hangi modüllerin çalıştığı bir 'ana 'fonksiyona sahipse ve tüm' eğer __name__ == '__main __'' bölümü bunu çağırır. – icktoofay

+0

tamam, açıkladığınız için teşekkürler .. Yardımlarınız için teşekkürler! – Lostsoul

İlgili konular