
正文
Python 类方法、实例方法、静态方法的使用与及实例
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
类方法
使用装饰器@classmethod 第一个参数必须是当前类对象,该参数名一般约定为“cls” (可修改但不建议)通过他来传递类的属性和方法(不能传实例的属性和方法)
调用:实例对象和类对象多可以调用
实例方法
第一个参数必须是实例对象,该参数名要为“self”通过他来传递实例的属性和方法(可传递类的属性和方法)
调用:实例对象调用
静态方法
普通函数就位于类定义的命名空间中,它不会对任何实例类型进行操作,需要使用装饰器@staticmethod定义静态方法
调用:类对象和实例都可以调用类方法
通过实例了解
class Book(object):
# 类属性
age = 23
def __init__(self,title,name='a'):
self.title = title
self.name = name
#类方法
@classmethod
def create(cls,title,x):
book = cls(title=title,name=x)
return book
# 静态方法
@staticmethod
def cx(x):
return x
def add(self):
print(self.title,self.name)
def lei(self):
# 实例访问类变量
print(self.__class__.age)
@classmethod
def lei2(cls):
# 类方法访问类变量
print(cls.age)# 实例化对象
book = Book("腾")
book.add() # 腾 a
# 改变实例属性
book.title="翁婿"
book.add() #翁婿 a
book.lei2() #
print(Book.age) #
#修改类属性
Book.age =55
print(Book.age)
# 类调用静态方法
print(Book.cx(3))
# 实例调用静态方法
print(book.cx(4))








