python模塊內(nèi)置屬性概念及實(shí)例
我們在講模塊的時(shí)候,有些人看到了內(nèi)置屬性,就把它們當(dāng)做函數(shù),其實(shí)還是有區(qū)別的,這里需要為大家進(jìn)行明確。我們所看到的函數(shù)兩邊帶有雙下劃線,這是python模塊中內(nèi)置屬性的體現(xiàn)。下面我們就內(nèi)置屬性進(jìn)性說明,并列出幾種內(nèi)置屬性的方法,最后帶來實(shí)例供大家體會。
1、說明
一種導(dǎo)入的方法,可以使用 import 直接把模塊內(nèi)(函數(shù),變量的)名稱導(dǎo)入到當(dāng)前操作模塊。
2、內(nèi)置屬性
- __doc__:模塊中用于描述的文檔字符串
- __name__:模塊名
- __file__:模塊保存的路徑
- __dict__ : 類的屬性(包含一個(gè)字典,由類的數(shù)據(jù)屬性組成)
- __module__: 類定義所在的模塊(類的全名是'__main__.className',如果類位于一個(gè)導(dǎo)入模塊mymod中,那么className.__module__ 等于 mymod)
- __bases__ : 類的所有父類構(gòu)成元素(包含了一個(gè)由所有父類組成的元組)
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']
通過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)置屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django {{ MEDIA_URL }}無法顯示圖片的解決方式
這篇文章主要介紹了Django {{ MEDIA_URL }}無法顯示圖片的解決方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python concurrent.futures模塊的使用測試
大家都知道concurrent.futures 是 3.2 中引入的新模塊,它為異步執(zhí)行可調(diào)用對象提供了高層接口,今天通過本文給大家介紹python concurrent.futures模塊的使用測試 ,感興趣的朋友一起看看吧2021-07-07