python中自省的意思是什么

python中自省的意思是什么?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

崇州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),崇州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為崇州上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的崇州做網(wǎng)站的公司定做!

什么是自???

在日常生活中,自?。╥ntrospection)是一種自我檢查行為。

在計(jì)算機(jī)編程中,自省是指這種能力:檢查某些事物以確定它是什么、它知道什么以及它能做什么。自省向程序員提供了極大的靈活性和控制力。

說(shuō)的更簡(jiǎn)單直白一點(diǎn):自省就是面向?qū)ο蟮恼Z(yǔ)言所寫(xiě)的程序在運(yùn)行時(shí),能夠知道對(duì)象的類(lèi)型。簡(jiǎn)單一句就是,運(yùn)行時(shí)能夠獲知對(duì)象的類(lèi)型。

例如python, buby, object-C, c++都有自省的能力,這里面的c++的自省的能力最弱,只能夠知道是什么類(lèi)型,而像python可以知道是什么類(lèi)型,還有什么屬性。

最好的理解自省就是通過(guò)例子: Type introspection  這里是各種編程語(yǔ)言中自省(introspection)的例子(這個(gè)鏈接里的例子很重要,也許你很難通過(guò)敘述理解什么是introspection,但是通過(guò)這些例子,一下子你就可以理解了)

回到Python,Python中比較常見(jiàn)的自?。╥ntrospection)機(jī)制(函數(shù)用法)有: dir(),type(), hasattr(), isinstance(),通過(guò)這些函數(shù),我們能夠在程序運(yùn)行時(shí)得知對(duì)象的類(lèi)型,判斷對(duì)象是否存在某個(gè)屬性,訪(fǎng)問(wèn)對(duì)象的屬性。

dir()

dir() 函數(shù)可能是 Python 自省機(jī)制中最著名的部分了。它返回傳遞給它的任何對(duì)象的屬性名稱(chēng)經(jīng)過(guò)排序的列表。如果不指定對(duì)象,則 dir() 返回當(dāng)前作用域中的名稱(chēng)。讓我們將 dir() 函數(shù)應(yīng)用于 keyword 模塊,并觀察它揭示了什么:

>>> import keyword
>>> dir(keyword)
['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'iskeyword', 'kwlist', 'main']

type()
type() 函數(shù)有助于我們確定對(duì)象是字符串還是整數(shù),或是其它類(lèi)型的對(duì)象。它通過(guò)返回類(lèi)型對(duì)象來(lái)做到這一點(diǎn),可以將這個(gè)類(lèi)型對(duì)象與 types 模塊中定義的類(lèi)型相比較:

>>> type(42)<class 'int'>
>>> type([])<class 'list'>

isinstance() 
可以使用 isinstance() 函數(shù)測(cè)試對(duì)象,以確定它是否是某個(gè)特定類(lèi)型或定制類(lèi)的實(shí)例:

>>> isinstance("python", str)
True

看完上述內(nèi)容,你們掌握python中自省的意思是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

本文標(biāo)題:python中自省的意思是什么
分享地址:http://bm7419.com/article4/pcccoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、服務(wù)器托管、App開(kāi)發(fā)、網(wǎng)站維護(hù)云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名