創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比慶陽(yáng)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式慶陽(yáng)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋慶陽(yáng)地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。python中自省的意思是什么?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
什么是自?。?/p>
在日常生活中,自?。╥ntrospection)是一種自我檢查行為。
在計(jì)算機(jī)編程中,自省是指這種能力:檢查某些事物以確定它是什么、它知道什么以及它能做什么。自省向程序員提供了極大的靈活性和控制力。
說的更簡(jiǎn)單直白一點(diǎn):自省就是面向?qū)ο蟮恼Z言所寫的程序在運(yùn)行時(shí),能夠知道對(duì)象的類型。簡(jiǎn)單一句就是,運(yùn)行時(shí)能夠獲知對(duì)象的類型。
例如python, buby, object-C, c++都有自省的能力,這里面的c++的自省的能力最弱,只能夠知道是什么類型,而像python可以知道是什么類型,還有什么屬性。
最好的理解自省就是通過例子: Type introspection 這里是各種編程語言中自?。╥ntrospection)的例子(這個(gè)鏈接里的例子很重要,也許你很難通過敘述理解什么是introspection,但是通過這些例子,一下子你就可以理解了)
回到Python,Python中比較常見的自?。╥ntrospection)機(jī)制(函數(shù)用法)有: dir(),type(), hasattr(), isinstance(),通過這些函數(shù),我們能夠在程序運(yùn)行時(shí)得知對(duì)象的類型,判斷對(duì)象是否存在某個(gè)屬性,訪問對(duì)象的屬性。
dir()
dir() 函數(shù)可能是 Python 自省機(jī)制中最著名的部分了。它返回傳遞給它的任何對(duì)象的屬性名稱經(jīng)過排序的列表。如果不指定對(duì)象,則 dir() 返回當(dāng)前作用域中的名稱。讓我們將 dir() 函數(shù)應(yīng)用于 keyword 模塊,并觀察它揭示了什么:
>>> import keyword >>> dir(keyword) ['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'iskeyword', 'kwlist', 'main']
type()
type() 函數(shù)有助于我們確定對(duì)象是字符串還是整數(shù),或是其它類型的對(duì)象。它通過返回類型對(duì)象來做到這一點(diǎn),可以將這個(gè)類型對(duì)象與 types 模塊中定義的類型相比較:
>>> type(42)>>> type([])
isinstance()
可以使用 isinstance() 函數(shù)測(cè)試對(duì)象,以確定它是否是某個(gè)特定類型或定制類的實(shí)例:
>>> isinstance("python", str) True
看完上述內(nèi)容,你們掌握python中自省的意思是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!