python 實例方法,類方法,靜態方法的調用


實例方法---------必須要創建實例來調用

類名().方法()

 

類方法和靜態方法------------可以直接類名.方法名()調用      也可以實例方法調用

普通實例方法,第一個參數需要是self,它表示一個具體的實例本身。
如果用了staticmethod,那么就可以無視這個self,而將這個方法當成一個普通的函數使用。
而對於classmethod,它的第一個參數不是self,是cls,它表示這個類本身。

 

類方法可以直接被類調用,不依托於任何對象

當一個方法的操作只涉及到靜態屬性的時候,可以使用classmethod來裝飾這個方法,變成類方法

 

靜態方法

在完全面向對象的程序中

如果在一個函數 既和對象沒有關系 也和類沒有關系  那么就用staticmethod來裝飾,變成靜態方法

 

類方法和靜態方法都是類調用的

 

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM