python 定義class時的內建方法

來源:互聯網
上載者:User

標籤:als   call   __call__   nbsp   __init__   int   執行個體   bsp   class   

__contains__():對類執行個體使用in ,not in操作時調用

class A(object):

    def __init__(self,num):

        self.num=num

    def __contains__(self,item):

        print(‘__contains__: %s is in ?‘ % item )

        if item < self.num and item >= 0 :

            return True

        else :

            return False

if __name__==‘__main__‘:

    if 3 in A(10):

        print(‘True‘)

    else:

        print(‘False‘)

輸出:

__contains__: 3 is in ?

True

 

__call__():像函數一樣調用類執行個體時使用的方法

class Person(object):

    def __init__(self,name,gender):

        self.name=name

        self.gender=gender

    def __call__(self,friend):

        print(‘My name is %s ...‘ % self.name)

        print(‘My friends is %s ...‘ % friend)

p=Person(‘Bob‘,‘male‘)

p(‘Tim‘)

輸出:

My name is Bob ...

My friends is Tim ...

python 定義class時的內建方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.