新聞中心
什么是自?。?/p>

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、江蘇網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、江蘇網(wǎng)絡(luò)營(yíng)銷、江蘇企業(yè)策劃、江蘇品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供江蘇建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
在日常生活中,自?。╥ntrospection)是一種自我檢查行為。
在計(jì)算機(jī)編程中,自省是指這種能力:檢查某些事物以確定它是什么、它知道什么以及它能做什么。自省向程序員提供了極大的靈活性和控制力。
說(shuō)的更簡(jiǎn)單直白一點(diǎn):自省就是面向?qū)ο蟮恼Z(yǔ)言所寫的程序在運(yùn)行時(shí),能夠知道對(duì)象的類型。簡(jiǎn)單一句就是,運(yùn)行時(shí)能夠獲知對(duì)象的類型。
例如python, buby, object-C, c++都有自省的能力,這里面的c++的自省的能力最弱,只能夠知道是什么類型,而像python可以知道是什么類型,還有什么屬性。
最好的理解自省就是通過(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ì)象的類型,判斷對(duì)象是否存在某個(gè)屬性,訪問(wèn)對(duì)象的屬性。
dir()
dir() 函數(shù)可能是 Python 自省機(jī)制中最著名的部分了。它返回傳遞給它的任何對(duì)象的屬性名稱經(jīng)過(guò)排序的列表。如果不指定對(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ì)象。它通過(guò)返回類型對(duì)象來(lái)做到這一點(diǎn),可以將這個(gè)類型對(duì)象與 types 模塊中定義的類型相比較:
>>> type(42)>>> type([])
isinstance()
可以使用 isinstance() 函數(shù)測(cè)試對(duì)象,以確定它是否是某個(gè)特定類型或定制類的實(shí)例:
>>> isinstance("python", str)
True 新聞標(biāo)題:創(chuàng)新互聯(lián)Python教程:python自省是什么
文章位置:http://fisionsoft.com.cn/article/djdjdpc.html


咨詢
建站咨詢
