Python類的常用高級函數匯總

1.基礎介紹

函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。

函數能提高應用的模塊性,和代碼的重復利用率。你已經知道Python提供瞭許多內建函數,比如print()。但你也可以自己創建函數,這被叫做用戶自定義函數。

2.定義一個函數

你可以定義一個由自己想要功能的函數,以下是簡單的規則:

  • 函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括號()。
  • 任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用於定義參數。
  • 函數的第一行語句可以選擇性地使用文檔字符串—用於存放函數說明。
  • 函數內容以冒號起始,並且縮進。
  • return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None。

3.__init__

# coding:utf-8

if __name__ == '__main__':

    '''
    定義:def __init__(self,參數1,參數2......):
        ......
    使用:在類實例化時觸發  類名(參數1,參數2.......)
    '''

    class A(object):
        def __init__(self, name, sex):
            print(f'name is {name}, sex is {sex}')

    a = A('xie', 'man')  # name is xie, sex is man

4.__getattr__

# coding:utf-8

if __name__ == '__main__':

    '''
    定義: def __getattr(self,屬性名)
    使用:在訪問類不存在的或無權限的屬性時觸發 object.屬性名
    '''

    class B(object):
        __name = 'rui'
        name = 'xie'

        def __getattr__(self, name):
            return f'name is {name}'

    b = B()
    print(b.name)  # xie
    print(b.__name)  # name is __name
    print(b.sex)  # name is sex
    print(b._B__name)  # rui

5.__setattr__

# coding:utf-8

if __name__ == '__main__':

    '''
    定義: def __setattr__(self,屬性名,屬性值)
    使用: 給類設置屬性值時觸發 object.屬性名 = 屬性值
    '''

    class C(object):
        name = ''
        __name = ''
        __sex = ''

        def __setattr__(self, key, value):
            print(f'I want set key:{key},value:{value}')

    c = C()
    c.name = 'xie'  # I want set key:name,value:xie
    c.age = '6666'  # I want set key:age,value:6666
    c.__sex = 'man'  # I want set key:__sex,value:man

6.__call__

# coding:utf-8

if __name__ == '__main__':

    '''
    定義: def __call__(self,參數1,參數2......)
    使用: 把類實例當做函數調用,通過object(參數1,參數2......)觸發
    '''

    class D(object):
        def __call__(self, *args, **kwargs):
            print(f'args is {args},kwargs is {kwargs}')

    d = D()
    d(*(1, 2, 3), **{'name': 'xie'})  # args is (1, 2, 3),kwargs is {'name': 'xie'}

7.__str__

# coding:utf-8

if __name__ == '__main__':

    '''
    定義: def __str__(self)
    使用: 打印對象時觸發 print(object)
    '''
    class F(object):
        def __str__(self):
            return '通常用來描述類'

    f = F()
    print(f)  # 通常用來描述類

到此這篇關於Python類的常用高級函數匯總的文章就介紹到這瞭,更多相關Python類的常用高級函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: