类属性和方法
类属性和方法
类属性就是类的属性,类方法就是类的方法,它们都从属于类,用类名可以直接访问调用,不需要创建对象。
类属性代码
#!/usr/bin/env python
class Animal(object):
owner = "burgess"
def __init__(self,name):
self.name = name
print(Animal.owner)
运行结果
┌──(root㉿kali)-[~/python_code/python_3]
└─# python class_attr.py
burgess
没有实例化对象,直接用类名访问了属性owner。
类方法代码
#!/usr/bin/env python
class Animal(object):
owner = "burgess"
def __init__(self,name):
self.name = name
#@classmethod是装饰器,表示类方法,后面高级特性部分会讲解
@classmethod
def get_owner(cls):
return cls.owner
@classmethod
def set_owner(cls,name):
cls.owner = name
print(Animal.owner)
Animal.set_owner("xiaohong")
print(Animal.owner)
print(Animal.get_owner())
运行结果
┌──(root㉿kali)-[~/python_code/python_3]
└─# python class_func.py
burgess
xiaohong
xiaohong
没有实例化对象,直接用类名调用了类方法set_owner()和get_owner()。
浙公网安备 33010602011771号