国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python 類

leanote / 3526人閱讀

摘要:類方法,第一個參數必須要默認傳類,一般習慣用。特別說明,靜態(tài)方法也可以實現上面功能,當靜態(tài)方法每次都要寫上類的名字,不方便。

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

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

實例方法,第一個參數必須要默認傳實例對象,一般習慣用self。
靜態(tài)方法,參數沒有要求。
類方法,第一個參數必須要默認傳類,一般習慣用cls。

# coding:utf-8
class Foo(object):
    """類三種方法語法形式"""
 
    def instance_method(self):
        print("是類{}的實例方法,只能被實例對象調用".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()

運行結果:

是類的實例方法,只能被實例對象調用
是靜態(tài)方法
是類方法
----------------
是靜態(tài)方法
是類方法
類方法

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

# 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)

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42675.html

相關文章

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

    摘要:好吧,事實上,類本身也是實例,當然,它們是元類的實例。中的一切都是對象,它們要么是類的實例,要么是元類的實例,除了。 寫在最前面 一些很重要的知識,我的寫得有點亂,也可以去看這些文章 Python 面向對象(初級篇) Python 面向對象(進階篇) 深刻理解Python中的元類(metaclass) 首先來看一個例子,正常情況下我們定義并且實例一個類如下 class Foo(ob...

    shusen 評論0 收藏0
  • Python基礎之(八)

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

    Freeman 評論0 收藏0
  • 關于Python屬性與實例屬性的討論

    摘要:之所以想寫這個文章是因為碰巧看到網上一篇關于中類屬性及實例屬性區(qū)別的帖子。中屬性的獲取對于屬性,我們通常采用類屬性或實例屬性的形式調用。最關鍵的地方在于兩點理解是如何利用查找樹的機制來模仿類及實例之間的關系理解動態(tài)語言是可以動態(tài)設置屬性的 標題名字有點長。 之所以想寫這個文章是因為碰巧看到網上一篇關于Pyhon中類屬性及實例屬性區(qū)別的帖子。因為我之前也被這個問題困擾過,今天碰巧看到了...

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

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

    BLUE 評論0 收藏0
  • Python 3 入門,看這篇就夠了

    摘要:縮進不一致,會導致運行錯誤。變量變量在使用前必須先定義即賦予變量一個值,否則會報錯數據類型布爾只有和兩個值,表示真或假。 簡介 Python 是一種高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python 由 Guido van Rossum 于 1989 年底在荷蘭國家數學和計算機科學研究所發(fā)明,第一個公開發(fā)行版發(fā)行于 1991 年。 特點 易于學習:Python ...

    Shimmer 評論0 收藏0
  • 理解Ruby中的

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

    tanglijun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<