类的三种方法(静态方法,类方法,属性方法)
Posted python我的最爱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的三种方法(静态方法,类方法,属性方法)相关的知识,希望对你有一定的参考价值。
1.(静态方法)
class Dog(object):
def __init__(self, name):
self.name = name
@staticmethod
def name(obj):
print(‘%s is name‘%obj)
Dog.name(‘ronghua‘)
@staticmethod静态方法与类本身不存在关系,只是调用的时候需要加类名,不可对类中的其他变量进行操作
2.(类方法)
class Dog(object):
name = ‘alex‘
def __init__(self, name):
self.name = name
@classmethod
def eat(self):
print(‘%s is eating‘%self.name)
dog = Dog(‘ronghua‘)
dog.eat()
@classmethod类方法只调用类里面的变量,不调用实例变量
3.(属性方法)
class Dog(object):
def __init__(self, name):
self.name = name
self.__foods = None
@property #定义属性方法
def eat(self):
print(‘%s is eating %s‘%(self.name, self.__foods))
@eat.setter #属性方法添加参数
def eat(self, food):
self.__foods = food
print(‘%s is eating %s‘%(self.name, self.__foods))
@eat.deleter #属性方法的删除
def eat(self):
del self.__foods
dog = Dog(‘shuhua‘)
dog.eat 这是属性变量,因此调用时不需要()
dog.eat = ‘包子‘ #传入参数
dog.eat
del dog.eat #属性变量中的删除
dog.eat #这里会出现报错,因为不存在self.__foods 变量
以上是关于类的三种方法(静态方法,类方法,属性方法)的主要内容,如果未能解决你的问题,请参考以下文章