Python - 常用內置變量


獲取當前模塊的變量

#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
# author: 小菠蘿測試筆記
# blog:  https://www.cnblogs.com/poloyy/
# time: 2021/7/21 11:29 下午
# file: 5_list 列表.py
"""

import keyword
from pprint import pprint

print(keyword.kwlist)

print(type)
type = 2
print(type)

# 內置變量
pprint(vars())

 

輸出結果

{'__annotations__': {},
 '__builtins__': <module 'builtins' (built-in)>,
 '__cached__': None,
 '__doc__': '\n'
            '# author: 小菠蘿測試筆記\n'
            '# blog:  https://www.cnblogs.com/poloyy/\n'
            '# time: 2021/7/21 11:29 下午\n'
            '# file: 5_list 列表.py\n',
 '__file__': '/Users/polo/Documents/pylearn/第一章:python 基本類型/4_變量.py',
 '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x1085aafd0>,
 '__name__': '__main__',
 '__package__': None,
 '__spec__': None,
 'keyword': <module 'keyword' from '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/keyword.py'>,
 'pprint': <function pprint at 0x108663430>,
 'type': 2}

前面 9 個有 __var__ 包着的變量都是內置變量,后面三個是模塊中自己聲明的變量

 

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

 

__cached__

獲取導入文件的緩存路徑

 

__builtins__

內置函數都在這里面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM