Python – 常用內置變數
- 2020 年 3 月 16 日
- 筆記
直接上程式碼
#!/usr/bin/env python # -*- coding: utf-8 -*- """ 這是注釋__doc__會列印這部分內容 """ # 以字典的方式返回所有內置變數 print(vars()) # 返回當前文件的路徑 print(__file__) # 獲取導入該文件的路徑,當前文件內輸出會返回None print(__package__) # 最重要的__name__獲取導入文件的路徑加文件名稱 print(__name__)
執行結果
{'__name__': '__main__', '__doc__': 'n這是注釋__doc__會列印這部分內容n', '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001F7A6E6C438>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'F:/SQ_Python_Easy/D10_面向對象/內置變數1.py', '__cached__': None} F:/SQ_Python_Easy/D10_面向對象/內置變數1.py None __main__
知識點一:vars()
Python內置函數,可以返回當前模組的所有內置變數
知識點二:__file__獲取路徑
所在模組:os
變數作用:指向當前文件
當前文件的完整路徑: os.path.realpath(__file__)
當前文件所屬目錄: os.path.dirname(os.path.realpath(__file__))
當前文件所屬目錄的上級目錄: os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
知識點三:__package__
""" 內置變數1.py """ #!/usr/bin/env python # -*- coding: utf-8 -*- print(__package__) # 輸出None
""" 內置變數2.py """ #!/usr/bin/env python # -*- coding: utf-8 -*- from test import 內置變數1.py # 會輸出 test ;輸出導入的文件的目錄
知識點四:__name__(重點)
Python系統變數
場景一: if __name__ == ‘__main__‘:
最常用的場景:當你運行當前文件時, __name__ 輸出就是 __main__ ,所以可以加個 if 判斷來執行特定程式碼
場景二:其他文件import
內置變數1.py 文件
#!/usr/bin/env python # -*- coding: utf-8 -*- print(__name__) if __name__ == '__main__': print("main")
運行 內置變數1.py 文件
__main__ main
內置變數2.py 文件
#!/usr/bin/env python # -*- coding: utf-8 -*- from test import 內置變數1.py
運行 內置變數2.py 文件
D10_面向對象.內置變數1
可以看到,運行內置變數2.py文件時,它因為導入了內置變數1.py,輸出__name__的值則是內置變數1.py在工程目錄下的路徑