• Python 静态方法,类方法,属性方法


    方法的使用

    静态方法

    - 只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性。

    class Dog(object):
        def __init__(self,name):
            self.name = name
    
        # 静态方法实际上根类没什么关系,单纯变成一个函数。
        @staticmethod
        def eat(self,food):
            print("%s is eating %s" %(self.name,food))

    类方法

    - 只能访问类变量,不能访问实例变量

    class Dog(object):
        n = 333
        def __init__(self,name):
            self.name = name
       @classmethod   #只能访问类变量
        def eat(self,food):
            print("%s is eating %s" %(self.n,food))

    使用场景:只能用写死的类变量。

     

     

    属性方法

    - 把一个方法变成一个静态属性。

    class Dog(object):
        n = 333
        def __init__(self,name):
            self.name = name
        @property #把一个方便变为静态属性
        def eat(self):
            print("%s is eating %s" %(self.name,"dd"))
    d = Dog("ChenRonghua")
    d.eat

    属性方法的用法

    # 创建属性方法: @property
    # 修改属性方法:  @eat.setter
    # 删除属性方法: @eat.deleter
    
    class Dog(object):
        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 to food:",food)
            self.__food = food
    
        @eat.deleter #属性方法删除
        def eat(self):
            del self.__food
            print("删完了")
    
    d = Dog("ChenRonghua")  #实例化
    d.eat  #不添加元素,输出
    d.eat = "baozi" #赋值元素,需要两个同名函数
    d.eat   #赋值后输出
    #输出结果
    #ChenRonghua is eating None
    #set to food: baozi
    #ChenRonghua is eating baozi
    #删完了

    使用场景:对用户来讲不需要关心后台的工作,只需要一步实,例名.属性 执行就可以。

  • 相关阅读:
    django 修改默认的user表和默认的认证系统
    django 'WSGIRequest' object has no attribute 'user'
    python scrapy简单爬虫记录(实现简单爬取知乎)
    python 文件操作的注意事项
    windows cmd命令
    数据库便捷的软件
    BCB Access violateion at Address 0000 0003. Read of address 0000 0003
    C++Builder6.0 新建和打开项目软件死机
    163邮箱账号
    使用 MtVerify.h头文件 ,用的时候把他头文件的内容添加到项目
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/7826955.html
Copyright © 2020-2023  润新知