国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

詳解python自定義方法屬性

shery / 1592人閱讀

摘要:在自定義方法中有一些只讀屬性,一般我們用不到,但是了解下也不錯(cuò),通過這篇文章,我們還可以了解到綁定方法和非綁定方法的區(qū)別。指代綁定方法的類或者調(diào)用非綁定方法的類。

在python自定義方法中有一些只讀屬性,一般我們用不到,但是了解下也不錯(cuò),通過這篇文章,我們還可以了解到==綁定方法==和==非綁定方法==的區(qū)別。

im_self 指代類的實(shí)例對(duì)象。

im_func 指代函數(shù)對(duì)象。

im_class 指代綁定方法的類或者調(diào)用非綁定方法的類。

__doc__ 方法的文檔注釋

__name__ 方法名

__module__ 方法所在的模塊名。

__func__ 等價(jià)于im_func

__self__ 等價(jià)于im_self

示例如下:

class Stu(object):
    def __init__(self, name):
        self.name = name

    def get_name(self):
        "this is the doc"
        return self.name

def show_attributes(method):
    print "im_self=", method.im_self
    print "__self__=", method.__self__
    print "im_func=", method.im_func
    print "__func__=", method.__func__
    print "im_class=", method.im_class
    print "__doc__=", method.__doc__
    print "__module__=", method.__module__
    
print "...........bounded method........"
stu=Stu("Jim")
method = stu.get_name
show_attributes(method)
method()
print "...........unbounded method......"
method = Stu.get_name
show_attributes(method)
method()

輸出結(jié)果如下:

...........bounded method.......Traceback (most recent call last):.
im_self= <__main__.Stu object at 0x0245D2B0>
__self__= <__main__.Stu object at 0x0245D2B0>
im_func= 
__func__= 
im_class= 
__doc__= this is the doc
__module__= __main__
...........unbounded method......
im_self= None
__self__= None
im_func= 
__func__= 
im_class= 
__doc__= this is the doc
__module__= __main__

  File "E:demopydemo.py", line 29, in 
    method()
TypeError: unbound method get_name() must be called with Stu instance as first argument (got nothing instead)

從上面的輸出結(jié)果可以看出,當(dāng)通過類直接調(diào)用方法時(shí),方法的im_self__self__屬性為None,該方法為非綁定方法(unbound method),當(dāng)我們通過實(shí)例調(diào)用該方法時(shí),方法的im_self__self__屬性為實(shí)例對(duì)象。這時(shí)該方法為綁定方法(bound method),但是不管哪種情況,方法的im_class都為調(diào)用類,而im_func為原始的函數(shù)對(duì)象。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/38009.html

相關(guān)文章

  • Python -- 元類metaclass詳解

    摘要:原鏈接中的元類是什么類也是對(duì)象在理解元類之前,需要掌握中類概念。事實(shí)上,是中用于創(chuàng)建所有類的元類。類本身是元類的對(duì)象在中,除了,一切皆對(duì)象,一切都是類或者元類的對(duì)象。事實(shí)上是自己的元類, 學(xué)習(xí)契機(jī) 項(xiàng)目中使用Elasticsearch(ES)存儲(chǔ)海量業(yè)務(wù)數(shù)據(jù),基于ES向外提供的API進(jìn)一層封裝,按需處理原始數(shù)據(jù)提供更精確、更多樣化的結(jié)果。在研究這一層的代碼時(shí)接觸到@six.add_me...

    tracy 評(píng)論0 收藏0
  • SpringBoot 實(shí)戰(zhàn) (三) | 配置文件詳解

    摘要:前言如題,今天解析下的配置文件。這時(shí)我們就可以用的屬性來(lái)配置隨機(jī)數(shù),比如隨機(jī)字符串隨機(jī)隨機(jī)以內(nèi)的隨機(jī)數(shù)的隨機(jī)數(shù)使用多配置文件很多時(shí)候我們開發(fā)項(xiàng)目都需要很多套環(huán)境,比如有測(cè)試環(huán)境,開發(fā)環(huán)境以及生產(chǎn)環(huán)境。原因是,是以的編碼方式讀取配置文件。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問題。 前言 如題,今天解析下 SpringBoot 的配置文件。 自定義屬性加...

    chenjiang3 評(píng)論0 收藏0
  • 私有化規(guī)則與屬性Property

    摘要:上一篇文章裝飾器真正入門的鑒定標(biāo)準(zhǔn)下一篇文章垃圾回收詳解私有化變量定義規(guī)則變量形式解讀公有變量單前置下劃線,私有化屬性或方法,禁止導(dǎo)入,類對(duì)象和子類進(jìn)可以訪問。雙前置下劃線,避免與子類中的屬性命名沖突,無(wú)法再在外部直接訪問。 上一篇文章:Python裝飾器:python真正入門的鑒定標(biāo)準(zhǔn)下一篇文章:Python垃圾回收詳解 1、私有化 變量定義規(guī)則 變量形式 解讀 xx 公...

    whjin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

shery

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<