类的特殊方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的特殊方法相关的知识,希望对你有一定的参考价值。



```#
# 静态方法(只是名义上归类管理,但实际上在今天方法里无法访问类或实例中的任何属性)
class cat(object):
    def __init__(self,name):
        self.name=name

    @staticmethod # 实际上和类没关系了
    def eat(self):
        print("%s is eating %s "%(self.name,"food"))

c=cat("alex")
c.eat(c) #强行有关系要把实例传进去(其实就是一个函数)

# 类方法
class cat(object):
    name="alex" # 类变量
    def __init__(self,name):
        self.name=name

    @classmethod # 类方法只能访问类变量,不能访问实例变量
    def eat(self):
        print("%s is eating %s "%(self.name,"food"))

c=cat("拉大")
c.eat() #强行有关系要把实例传进去(其实就是一个函数)

# 属性方法(把一个方法变成静态属性)
class cat(object):
    name="alex" # 类变量
    def __init__(self,name):
        self.name=name
        self.__food=None

    @property # 把一个方法变成静态属性
    def eat(self):
        print("%s is eating %s " % (self.name,self.__food))
    @eat.setter #(修改)
    def eat(self,food):
        print("set food is " , food)
        self.__food=food
    @eat.deleter #(删除)
    def eat(self):
        del self.__food
        print("删完了")

c=cat("拉大")
c.eat
c.eat="汉堡"
c.eat

del c.eat
c.eat

以上是关于类的特殊方法的主要内容,如果未能解决你的问题,请参考以下文章

如何将 View 类中的代码片段移动到 OnAppearing() 方法?

python 类的常见的特殊成员

#5 Python面向对象

面向对象day08:类的特殊成员-类的起源与metaclass

Python类的特殊方法

有条件地导入 python 类的片段