我們?cè)谥v模塊的時(shí)候,有些人看到了內(nèi)置屬性,就把它們當(dāng)做函數(shù),其實(shí)還是有區(qū)別的,這里需要為大家進(jìn)行明確。我們所看到的函數(shù)兩邊帶有雙下劃線(xiàn),這是python模塊中內(nèi)置屬性的體現(xiàn)。下面我們就內(nèi)置屬性進(jìn)性說(shuō)明,并列出幾種內(nèi)置屬性的方法,最后帶來(lái)實(shí)例供大家體會(huì)。
1、說(shuō)明
一種導(dǎo)入的方法,可以使用 import 直接把模塊內(nèi)(函數(shù),變量的)名稱(chēng)導(dǎo)入到當(dāng)前操作模塊。
2、內(nèi)置屬性
- __doc__:模塊中用于描述的文檔字符串
- __name__:模塊名
- __file__:模塊保存的路徑
- __dict__ : 類(lèi)的屬性(包含一個(gè)字典,由類(lèi)的數(shù)據(jù)屬性組成)
- __module__: 類(lèi)定義所在的模塊(類(lèi)的全名是'__main__.className',如果類(lèi)位于一個(gè)導(dǎo)入模塊mymod中,那么className.__module__ 等于 mymod)
- __bases__ : 類(lèi)的所有父類(lèi)構(gòu)成元素(包含了一個(gè)由所有父類(lèi)組成的元組)
3、實(shí)例
print(__doc__)
print(__file__)
print(__name__)
內(nèi)容擴(kuò)展:
查看模塊的內(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']
通過(guò)dir()方法我們可以獲取到該模塊的所有的顯式或隱式的屬性或方法;可看到隱式的屬性有__annotations__,__builtins__,__cached__,__annotations__,__doc__,__file__,__loader__,__name__;
我們打印一下每個(gè)魔法屬性:
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)置屬性概念及實(shí)例的文章就介紹到這了,更多相關(guān)python模塊有哪些內(nèi)置屬性?xún)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python3 面向?qū)ο骭_類(lèi)的內(nèi)置屬性與方法的實(shí)例代碼