最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python新式類和經(jīng)典類的區(qū)別實(shí)例分析

 更新時間:2020年03月23日 10:07:26   作者:bronk  
這篇文章主要介紹了python新式類和經(jīng)典類的區(qū)別,結(jié)合實(shí)例形式分析了python新式類和經(jīng)典類的功能、區(qū)別與使用方法,需要的朋友可以參考下

本文實(shí)例講述了python新式類和經(jīng)典類的區(qū)別。分享給大家供大家參考,具體如下:

新式類就是  class person(object): 這種形式的, 從py2.2 開始出現(xiàn)的

新式類添加了:

__name__ is the attribute's name.
__doc__ is the attribute's docstring.
__get__(object) is a method that retrieves the attribute value from object.
__set__(object, value) sets the attribute on object to value.
__delete__(object, value) deletes the value attribute of object.

新式類的出現(xiàn), 除了添加了大量方法以外, 還改變了經(jīng)典類中一個多繼承的bug, 因?yàn)槠洳捎昧藦V度優(yōu)先的算法

Python 2.x中默認(rèn)都是經(jīng)典類,只有顯式繼承了object才是新式類
python 3.x中默認(rèn)都是新式類,經(jīng)典類被移除,不必顯式的繼承object

粘貼一段官網(wǎng)上的作者解釋

是說經(jīng)典類中如果都有save方法, C中重寫了save() 方法,  那么尋找順序是 D->B->A, 永遠(yuǎn)找不到C.save()

代碼演示:

#!/usr/bin/env python3
#coding:utf-8
'''
  新式類和經(jīng)典類的區(qū)別, 多繼承代碼演示

'''

class A:
  def __init__(self):
    print 'this is A'
  def save(self):
    print 'save method from A'

class B:
  def __init__(self):
    print 'this is B'

class C:
  def __init__(self):
    print 'this is c'
  def save(self):
    print 'save method from C'

class D(B, C):
  def __init__(self):
    print 'this is D'
d = D()
d.save()

結(jié)果顯示

this is D
save method from C

注意: 在python3 以后的版本中, 默認(rèn)使用了新式類, 是不會成功的

另外: 經(jīng)典類中所有的特性都是可讀可寫的, 新式類中的特性只讀的, 想要修改需要添加 @Texing.setter

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

始兴县| 绩溪县| 勐海县| 施秉县| 新昌县| 江源县| 古田县| 嵊泗县| 凤山县| 海原县| 临猗县| 阿坝| 崇义县| 丰顺县| 什邡市| 兰州市| 崇州市| 英超| 彭水| 高尔夫| 邵阳县| 黔南| 偏关县| 慈利县| 奈曼旗| 贺州市| 全南县| 平远县| 民和| 县级市| 资兴市| 噶尔县| 益阳市| 三穗县| 定州市| 古蔺县| 宜宾市| 长兴县| 马尔康县| 谷城县| 凤庆县|