python内建函数是什么意思_Python 自省相关的内建函数和属性
見賢思齊焉,見不賢而內自省也。 –《論語·里仁》
在計算機編程中,自省是指這種能力:檢查某些事物以確定它是什么、它知道什么以及它能做什么。這里簡單列舉和介紹 Python 自省相關的內建函數。
issubclass
issubclass(sub, sup)
如果給出的子類 sub 確定是父類 sup 的一個子類,則返回 True ,反之則返回 False。這個函數也允許“不嚴格”的子類,意味著,一個類可視為其自身的子類。issubclass() 的第二個參數可以是可能的父類組成的元組(tuple),這時,只要第一個參數是給定元組中任何一個候選類的子類時,就會返回 True。
isinstance
isinstance(object, class-or-type-or-tuple)
判斷 object 對象是否是 class 的一個實例,或者是否屬于 type 類型,如果是返回 True, 否則返回 False。第二個參數可以是一個元組,如果第一個參數是第二個參數中給定元組的任何一個候選類型或類的實例時,就會返回 True。
hasatrr
hasattr(object, name)
檢查 object 是否有一個名為 name 的值的屬性,返回一個布爾值。 第二個參數,即屬性名字符串的方式提供。該函數一般用于訪問某屬性前先做一個檢查。
getattr
getattr(object, name[, default])
返回 object 中名為 name 值的屬性的值,例如如果屬性名為 ‘bar’,則返回 obj.bar。 該函數會在試圖獲取一個不存在的屬性時,引發 AttributeError 異常,除非可選的默認參數 defualt。
setattr
setattr(object, name, value)
將給 object 對象中名為 name 的值的屬性賦值為 val。例如如果 name 為 ‘bar’,則相當于 obj.bar = val。 如果 object 中有 name 的屬性則重新設置其值,如果沒有則添加一個名為 name 的屬性。
delattr
delattr(object, name)
從 object 中刪除名為 name 的屬性。
callable
callable(object)
檢查對象object是否可調用。如果返回True,object仍然可能調用失敗;但如果返回False,調用對象ojbect絕對不會成功。需要注意的是,類是可調用的,而類的實例實現了__call__()方法才可調用。該函數在python2.x版本中都可用。但是在python3.0版本中被移除,而在python3.2以后版本中被重新添加。
dir
dir([object])
不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。如果參數包含方法__dir__(),該方法將被調用。如果參數不包含__dir__(),該方法將最大限度地收集參數信息。參數可以是對象、變量、類型。
sys 模塊
sys.executable
當前 Python 解釋器路徑:
>>> sys.executable
'/usr/bin/python3'
sys.platform
當前系統平類型:
>>> sys.platform
'linux'
platform 可以獲取給多平臺相關的信息。
sys.version
當前 Python 解釋器程序的版本信息,該屬性是一個字符串。
>>> sys.version
'3.4.3 (default, Oct 14 2015, 20:28:29) \n[GCC 4.8.4]'
sys.version_info
當前 Python 解釋器程序的版本信息,該屬性是一個類似于元組的類型。
>>> sys.version_info
sys.version_info(major=3, minor=4, micro=3, releaselevel='final', serial=0)
>>> sys.version_info >= (3, 0)
True
buitins
內建模塊在 Python2.x 中為 __builtin__,在 Python3.x 中為 builtins。而__builtins__是內建模塊的引用,它和內建模塊一樣,在程序運行之前被加載到內存。內建模塊與__builtins__的區別如下:
(1)無論任何地方要想使用內建模塊,都必須在該位置所處的作用域中導入__builtin__內建模塊;而對于__builtins__卻不用導入,它在任何模塊都直接可見
(2)__builtins__雖是對內建模塊的引用,但這個引用要看是使用__builtins__的模塊是哪個模塊:
在主模塊__main__中:__builtins__是對內建模塊__builtin__本身的引用,即__builtins__完全等價于__builtin__,二者完全是一個東西,不分彼此。
在非__main__模塊中:__builtins__僅是對__builtin__.__dict__的引用,而非__builtin__本身。它在任何地方都可見。此時__builtins__的類型是字典。
總結
以上是生活随笔為你收集整理的python内建函数是什么意思_Python 自省相关的内建函数和属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 速度轻松达到100MB/s!SteamD
- 下一篇: mac键盘进水后会自愈吗(Mac必备软件