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)
原文地址:https://www.cnblogs.com/wind666/p/11785569.html