首頁 > 軟體

Python類的常用高階函數彙總

2022-03-01 13:03:37

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類的常用高階函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com