亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 改了之后就無法通過類去訪問了,只能通過實例去訪問。

    查看全部
  • Python 定義了__str()__和__repr__()兩種方法,__str()__用于顯示給用戶,而__repr__()用于顯示給開發人員,當使用str()時,實際調用的是__str__()方法,而直接輸入變量,調用的是__repr__()方法。

    class?Person(object):
    ????def?__init__(self,?name,?gender):
    ????????self.name?=?name
    ????????self.gender?=?gender
    ????def?__str__(self):
    ????????return?'name:?{},?gender:?{}'.format(self.name,?self.gender)
    ????def?__repr__(self):
    ????????return?'name:?{},?gender:?{}'.format(self.name,?self.gender)
    
    bob?=?Person('Bob',?'Male')
    str(bob)?#?==>?'name:?Bob,?gender:?Male'
    >>>?bob
    'name:?Bob,?gender:?Male'


    查看全部
  • 要獲取或者設置對象的屬性,就需要用 getattr() 和 setattr( )函數了。

    查看全部
  • 在一條繼承鏈上,一個實例可以看成它本身的類型,也可以看成它父類的類型。

    isinstance也可以用于Python自有數據類型的判斷。

    查看全部
    0 采集 收起 來源:Python判斷類型

    2020-10-14

  • 通過函數isinstance()可以判斷一個變量的類型。

    查看全部
    0 采集 收起 來源:Python判斷類型

    2020-10-14

  • 私有屬性以雙下劃線__開頭,私有屬性只能在當前函數中被調用,不能被外部的函數調用。

    查看全部
  • 不要通過實例來修改類屬性

    查看全部
  • 學了大半天,把__init__(self)寫成了__int__(self),運行了大半天,始終報錯,唉~~~

    查看全部
  • class Peple(object): pass

    xiaoming = Peple()

    xiaomai = Peple()

    類,這是區別于其它的運算符,如果沒有定義類的前提下,xiaoming == xiaomai ,這個等式是相等的;當創建了類以后,我們進行實例化后,xiaoming != xiaomai,這個等式就不成立了。這是類的最大區別;每創建一個實例,它們都歸屬于這個類的不同實例,不相等;

    查看全部
  • 不能被外部訪問的屬性稱為私有屬性。私有屬性是以雙下劃線'__'開頭的屬性。 # 類私有屬性 class Animal(object): __localtion = 'Asia' print(Animal.__localtion) Traceback (most recent call last): File "", line 1, in AttributeError: type object 'Animal' has no attribute '__localtion'
    查看全部
  • 定義類屬性可以直接在 class 中定義,比如在前面的Animal類中,加入地域的類屬性:

    class?Animal(object):
    ????localtion?=?'Asia'
    ????def?__init__(self,?name,?age):
    ????????self.name?=?name
    ????????self.age?=?age

    類屬性也是可以動態添加和修改的,需要注意的是,因為類屬性只有一份,所以改變了,所有實例可以訪問到的類屬性都會變更:

    Animal.localtion?=?'Africa'
    print(cat.localtion)?#?==>Africa
    print(dog.localtion)?#?==>Africa


    查看全部
    0 采集 收起 來源:Python類屬性

    2020-10-12

  • [::-1] 表示將字符串倒過來
    查看全部
  • 盡量不要通過實例來修改類屬性,否則很容易引發意想不到的錯誤。
    查看全部
  • @log('DEBUG')
    def?my_func():
    ????pass

    把上面的定義翻譯成高階函數的調用,就是:

    my_func?=?log('DEBUG')(my_func)

    上面的語句看上去還是比較繞,再展開一下:

    log_decorator?=?log('DEBUG')
    my_func?=?log_decorator(my_func)

    上面的語句又相當于:

    log_decorator?=?log('DEBUG')
    @log_decorator
    def?my_func():
    ????pass


    查看全部
  • Python的 decorator 本質上就是一個高階函數,它接收一個函數作為參數,然后,返回一個新函數。

    使用 decorator 用Python提供的 @ 語法,這樣可以避免手動編寫 f = decorate(f) 這樣的代碼。
    考察一個@log的定義:

    def?log(f):
    ????def?fn(x):
    ????????print('call?'?+?f.__name__?+?'()...')
    ????????return?f(x)
    ????return?fn

    對于階乘函數,@log工作得很好:

    @log
    def?factorial(n):
    ????return?reduce(lambda?x,y:?x*y,?range(1,?n+1))
    
    print(factorial(10))

    要讓 @log 自適應任何參數定義的函數,可以利用Python的?args 和 *kwargs,保證任意個數的參數總是能正常調用:

    def?log(f):
    ????def?fn(*args,?**kwargs):
    ????????print('call?'?+?f.__name__?+?'()...')
    ????????return?f(*args,?**kwargs)
    ????return?fn


    查看全部

舉報

0/150
提交
取消
課程須知
本課程是Python入門的后續課程 1、掌握Python編程的基礎知識 2、掌握Python函數的編寫 3、對面向對象編程有所了解更佳
老師告訴你能學到什么?
1、什么是函數式編程 2、Python的函數式編程特點 3、Python的模塊 4、Python面向對象編程 5、Python強大的定制類

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!