我們在講模塊的時候,有些人看到了內(nèi)置屬性,就把它們當(dāng)做函數(shù),其實還是有區(qū)別的,這里需要為大家進行明確。我們所看到的函數(shù)兩邊帶有雙下劃線,這是python模塊中內(nèi)置屬性的體現(xiàn)。下面我們就內(nèi)置屬性進性說明,并列出幾種內(nèi)置屬性的方法,最后帶來實例供大家體會。
1、說明
一種導(dǎo)入的方法,可以使用 import 直接把模塊內(nèi)(函數(shù),變量的)名稱導(dǎo)入到當(dāng)前操作模塊。
2、內(nèi)置屬性
- __doc__:模塊中用于描述的文檔字符串
- __name__:模塊名
- __file__:模塊保存的路徑
- __dict__ : 類的屬性(包含一個字典,由類的數(shù)據(jù)屬性組成)
- __module__: 類定義所在的模塊(類的全名是'__main__.className',如果類位于一個導(dǎo)入模塊mymod中,那么className.__module__ 等于 mymod)
- __bases__ : 類的所有父類構(gòu)成元素(包含了一個由所有父類組成的元組)
3、實例
print(__doc__)
print(__file__)
print(__name__)
內(nèi)容擴展:
查看模塊的內(nèi)置屬性
# test.py
# -*- coding: utf-8 -*-
"""
some doc
"""
import os
var1 = None
class Person(object):
pass
if __name__ == "__main__":
print(dir()) # ['Person', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'os', 'var1']
通過dir()方法我們可以獲取到該模塊的所有的顯式或隱式的屬性或方法;可看到隱式的屬性有__annotations__,__builtins__,__cached__,__annotations__,__doc__,__file__,__loader__,__name__;
我們打印一下每個魔法屬性:
print(__name__) # __main__
print(__annotations__) # {}
print(__builtins__) # module 'builtins' (built-in)>
print(__cached__) # None
print(__doc__) # some doc
print(__file__) # .../test.py
print(__loader__) # _frozen_importlib_external.SourceFileLoader object at 0x000002398E831F28>
print(__package__) # None
print(__spec__) # None
# 其中__name__、__doc__、__file__、__package__是可以直接使用的,其它的內(nèi)置屬性一般不允許直接使用。
到此這篇關(guān)于python模塊內(nèi)置屬性概念及實例的文章就介紹到這了,更多相關(guān)python模塊有哪些內(nèi)置屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python3 面向?qū)ο骭_類的內(nèi)置屬性與方法的實例代碼