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

對(duì)Python中的@classmethod用法詳解

 更新時(shí)間:2018年04月21日 09:21:59   作者:grey_csdn  
下面小編就為大家分享一篇對(duì)Python中的@classmethod用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

在Python面向?qū)ο缶幊讨械念悩?gòu)建中,有時(shí)候會(huì)遇到@classmethod的用法。

總感覺(jué)有這種特殊性說(shuō)明的用法都是高級(jí)用法,在我這個(gè)層級(jí)的水平中一般是用不到的。

不過(guò)還是好奇去查了一下。

大致可以理解為:使用了@classmethod修飾的方法是類專屬的,而且是可以通過(guò)類名進(jìn)行調(diào)用的。為了能夠展示其與一般方法的差異,寫(xiě)一段簡(jiǎn)單的代碼如下:

class DemoClass:
    @classmethod
    def classPrint(self):
       print("class method")
    def objPrint(self):
       print("obj method")
 
obj = DemoClass()
obj.objPrint()
obj.classPrint()
 
DemoClass.classPrint()
DemoClass.objPrint()

程序的執(zhí)行結(jié)果如下:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python classmethod.py
obj method
class method
class method
Traceback (mostrecent call last):
 File "classmethod.py", line 13, in<module>
  DemoClass.objPrint()
TypeError: unboundmethod objPrint() must be called with DemoClass instance as first argument (gotnothing instead)
grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$exit
exit
 
E:\01_workspace\02_programme_language\03_python\03_OOP\2017\08>pythonclassmethod.py
obj method
class method
class method
Traceback (mostrecent call last):
 File "classmethod.py", line 13, in<module>
  DemoClass.objPrint()
TypeError:objPrint() missing 1 required positional argument: 'self'

上面的程序執(zhí)行,我是在兩個(gè)操作系統(tǒng)中的兩個(gè)Python版本環(huán)境中進(jìn)行的。不管是Py2還是Py3,這方面的設(shè)計(jì)都是差不多的。總體來(lái)說(shuō),這種用法還是很微妙的。由于沒(méi)有足夠的實(shí)戰(zhàn)歷練,暫時(shí)還說(shuō)不好這個(gè)東西有什么更好的優(yōu)勢(shì)。

這篇對(duì)Python中的@classmethod用法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

桓台县| 汝州市| 呈贡县| 宁明县| 辽阳市| 屏东市| 观塘区| 小金县| 焉耆| 都兰县| 白沙| 芦溪县| 崇信县| 文水县| 淮北市| 望城县| 道孚县| 壤塘县| 安顺市| 宜兰市| 丹东市| 开鲁县| 淳化县| 日土县| 泸水县| 宁强县| 获嘉县| 武川县| 株洲县| 宿松县| 威远县| 临武县| 秦安县| 韶关市| 栾城县| 车致| 丹江口市| 鄢陵县| 靖边县| 瑞安市| 习水县|