python引用自己的文件的一切问题
生活随笔
收集整理的這篇文章主要介紹了
python引用自己的文件的一切问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 關于引入和使用方法
- 方式一:調用另一個文件的變量和函數
- 方式二:調用另一個文件的類
- 關于執行順序
關于引入和使用方法
方式一:調用另一個文件的變量和函數
main.py
from batch import *print("在main調用batch的變量NUM:",NUM) print("在main調用batch的方法test():",test())batch.py
NUM = 10 def test():return "batch's test()"結果:
在main調用batch的變量NUM: 10 在main調用batch的方法test(): batch's test()方式二:調用另一個文件的類
main.py
from data import Data # 這樣的好處在于可以起別名:from data import Data as D #from data import * # 這樣也是可以的d = Data() print("調用類的變量:",d.n_user) print("調用類的方法:",d.info())data.py
class Data():def __init__(self):self.n_user = 100def info(self):return "This is Data's method..."結果:
調用類的變量: 100 調用類的方法: This is Data's method...關于執行順序
在主文件中,程序順序執行
執行 import 動作時,如果引入的文件中的主進程中有可執行的代碼,則會在引入的時候執行完畢
通俗來講,可以看作把引入文件的代碼全都復制粘貼到主文件import的位置。?
main.py
from batch import *print("main--N_USER:",N_USER)print("ok1")if __name__=="__main__":print("ok2")for i in range(3):test()print("ok3")batch.py
from data import Datad = Data() N_USER = d.n_user print("N_USER",N_USER)def test():user_len = N_USERprint("just 調用:",user_len)data.py
class Data():def __init__(self):self.n_user = 100結果:
batch--N_USER: 100 # 在import的時候就執行了引入文件的代碼 main--N_USER: 100 # 接下來就是依次執行主進程中的代碼 ok1 ok2 just 調用: 100 # 在調用引入文件函數的時候只執行函數部分,其他部分不會再執行 just 調用: 100 just 調用: 100 ok3總結
以上是生活随笔為你收集整理的python引用自己的文件的一切问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 各种损失函数比较-带你斩获offer
- 下一篇: Python学习练习:批量移动文件