成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python 類

leanote / 3534人閱讀

摘要:類方法,第一個(gè)參數(shù)必須要默認(rèn)傳類,一般習(xí)慣用。特別說(shuō)明,靜態(tài)方法也可以實(shí)現(xiàn)上面功能,當(dāng)靜態(tài)方法每次都要寫(xiě)上類的名字,不方便。

Python-類屬性,實(shí)例屬性,類方法,靜態(tài)方法,實(shí)例方法 類屬性和實(shí)例屬性
#coding:utf-8

class Student(object):
    name = "I am a class variable" #類變量
>>> s = Student() # 創(chuàng)建實(shí)例s
>>> print(s.name) # 打印name屬性,因?yàn)閷?shí)例并沒(méi)有name屬性,所以會(huì)繼續(xù)查找class的name屬性
Student
>>> print(Student.name) # 打印類的name屬性
Student
>>> s.name = "Michael" # 給實(shí)例綁定name屬性
>>> print(s.name) # 由于實(shí)例屬性優(yōu)先級(jí)比類屬性高,因此,它會(huì)屏蔽掉類的name屬性
Michael
>>> print(Student.name) # 但是類屬性并未消失,用Student.name仍然可以訪問(wèn)
Student
>>> del s.name # 如果刪除實(shí)例的name屬性
>>> print(s.name) # 再次調(diào)用s.name,由于實(shí)例的name屬性沒(méi)有找到,類的name屬性就顯示出來(lái)了
Student
類方法,實(shí)例方法,靜態(tài)方法

實(shí)例方法,第一個(gè)參數(shù)必須要默認(rèn)傳實(shí)例對(duì)象,一般習(xí)慣用self。
靜態(tài)方法,參數(shù)沒(méi)有要求。
類方法,第一個(gè)參數(shù)必須要默認(rèn)傳類,一般習(xí)慣用cls。

# coding:utf-8
class Foo(object):
    """類三種方法語(yǔ)法形式"""
 
    def instance_method(self):
        print("是類{}的實(shí)例方法,只能被實(shí)例對(duì)象調(diào)用".format(Foo))
 
    @staticmethod
    def static_method():
        print("是靜態(tài)方法")
 
    @classmethod
    def class_method(cls):
        print("是類方法")
 
foo = Foo()
foo.instance_method()
foo.static_method()
foo.class_method()
print("----------------")
Foo.static_method()
Foo.class_method()

運(yùn)行結(jié)果:

是類的實(shí)例方法,只能被實(shí)例對(duì)象調(diào)用
是靜態(tài)方法
是類方法
----------------
是靜態(tài)方法
是類方法
類方法

由于python類中只能有一個(gè)初始化方法,不能按照不同的情況初始化類,類方法主要用于類用在定義多個(gè)構(gòu)造函數(shù)的情況。
特別說(shuō)明,靜態(tài)方法也可以實(shí)現(xiàn)上面功能,當(dāng)靜態(tài)方法每次都要寫(xiě)上類的名字,不方便。

# coding:utf-8
class Book(object):
 
    def __init__(self, title):
        self.title = title
 
    @classmethod
    def class_method_create(cls, title):
        book = cls(title=title)
        return book
 
    @staticmethod
    def static_method_create(title):
        book= Book(title)
        return book
 
book1 = Book("use instance_method_create book instance")
book2 = Book.class_method_create("use class_method_create book instance")
book3 = Book.static_method_create("use static_method_create book instance")
print(book1.title)
print(book2.title)
print(book3.title)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42675.html

相關(guān)文章

  • Python實(shí)例一個(gè)背后發(fā)生了什么

    摘要:好吧,事實(shí)上,類本身也是實(shí)例,當(dāng)然,它們是元類的實(shí)例。中的一切都是對(duì)象,它們要么是類的實(shí)例,要么是元類的實(shí)例,除了。 寫(xiě)在最前面 一些很重要的知識(shí),我的寫(xiě)得有點(diǎn)亂,也可以去看這些文章 Python 面向?qū)ο螅ǔ跫?jí)篇) Python 面向?qū)ο螅ㄟM(jìn)階篇) 深刻理解Python中的元類(metaclass) 首先來(lái)看一個(gè)例子,正常情況下我們定義并且實(shí)例一個(gè)類如下 class Foo(ob...

    shusen 評(píng)論0 收藏0
  • Python基礎(chǔ)之(八)

    摘要:方法綁定方法多重繼承實(shí)例化實(shí)現(xiàn)了方法和實(shí)例的綁調(diào)用綁定方法非綁定方法在子類中,父類的方法就是非綁定方法,因?yàn)樵谧宇愔?,沒(méi)有建立父類的實(shí)例,卻要是用父類的方法。 類 創(chuàng)建類 第一形式 # !/usr/bin/env python # coding=utf-8 class Person(object): #object表示繼承自object類,Python3中可省略次內(nèi)容 ...

    Freeman 評(píng)論0 收藏0
  • 關(guān)于Python屬性與實(shí)例屬性的討論

    摘要:之所以想寫(xiě)這個(gè)文章是因?yàn)榕銮煽吹骄W(wǎng)上一篇關(guān)于中類屬性及實(shí)例屬性區(qū)別的帖子。中屬性的獲取對(duì)于屬性,我們通常采用類屬性或?qū)嵗龑傩缘男问秸{(diào)用。最關(guān)鍵的地方在于兩點(diǎn)理解是如何利用查找樹(shù)的機(jī)制來(lái)模仿類及實(shí)例之間的關(guān)系理解動(dòng)態(tài)語(yǔ)言是可以動(dòng)態(tài)設(shè)置屬性的 標(biāo)題名字有點(diǎn)長(zhǎng)。 之所以想寫(xiě)這個(gè)文章是因?yàn)榕銮煽吹骄W(wǎng)上一篇關(guān)于Pyhon中類屬性及實(shí)例屬性區(qū)別的帖子。因?yàn)槲抑耙脖贿@個(gè)問(wèn)題困擾過(guò),今天碰巧看到了...

    neroneroffy 評(píng)論0 收藏0
  • 從能做什么到如何去做,一文帶你快速掌握Python編程基礎(chǔ)與實(shí)戰(zhàn)

    摘要:本文的分享主要圍繞以下幾個(gè)方面能做什么常見(jiàn)應(yīng)用場(chǎng)景介紹如何學(xué)習(xí)語(yǔ)法基礎(chǔ)實(shí)戰(zhàn)面向?qū)ο缶幊虒?shí)戰(zhàn)練熟基礎(chǔ)小游戲項(xiàng)目的實(shí)現(xiàn)與實(shí)戰(zhàn)一能做什么一種編程語(yǔ)言往往可以應(yīng)用于多方面,有些方面比較常用,有些方面極為常用。比如表示是一個(gè)空列表。 摘要:Python語(yǔ)言的教程雖然隨處可見(jiàn),但是忙于日常業(yè)務(wù)/學(xué)習(xí)的你或許:一直想要找個(gè)時(shí)間學(xué)一點(diǎn),但是又不知道該從何下手?本文將從Python能做什么,如何學(xué)習(xí)Py...

    BLUE 評(píng)論0 收藏0
  • Python 3 入門(mén),看這篇就夠了

    摘要:縮進(jìn)不一致,會(huì)導(dǎo)致運(yùn)行錯(cuò)誤。變量變量在使用前必須先定義即賦予變量一個(gè)值,否則會(huì)報(bào)錯(cuò)數(shù)據(jù)類型布爾只有和兩個(gè)值,表示真或假。 簡(jiǎn)介 Python 是一種高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言。Python 由 Guido van Rossum 于 1989 年底在荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所發(fā)明,第一個(gè)公開(kāi)發(fā)行版發(fā)行于 1991 年。 特點(diǎn) 易于學(xué)習(xí):Python ...

    Shimmer 評(píng)論0 收藏0
  • 理解Ruby中的

    摘要:序言源起于開(kāi)發(fā)者公眾號(hào)轉(zhuǎn)載的深刻理解中的元類一文回憶著自己看過(guò)的元編程一書(shū)參照寫(xiě)個(gè)相應(yīng)的版和在很多方面都非常相像特別是的設(shè)計(jì)部分參考了但在很多方面它倆的很多概念并非一一對(duì)應(yīng)的在這里的元類在中并沒(méi)有相應(yīng)的概念如果理解為創(chuàng)建類的類最相近的應(yīng)該是 live with scope 序言 源起于Python開(kāi)發(fā)者公眾號(hào)轉(zhuǎn)載的深刻理解Python中的元類一文, 回憶著自己看過(guò)的 Ruby元編程 一...

    tanglijun 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<