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在工程目錄下的路徑