博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 静态方法,类方法,属性方法
阅读量:5091 次
发布时间:2019-06-13

本文共 1425 字,大约阅读时间需要 4 分钟。

方法的使用

 

 

静态方法

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

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.deleterclass 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#删完了

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

转载于:https://www.cnblogs.com/xiangsikai/p/7826955.html

你可能感兴趣的文章
2015 Multi-University Training Contest 3
查看>>
使用Gitblit 在windows 上部署你的Git Server
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
【3.1】Cookiecutter安装和使用
查看>>
【2.3】初始Django Shell
查看>>
Linux(Centos)之安装Redis及注意事项
查看>>
bzoj 1010: [HNOI2008]玩具装箱toy
查看>>
Kotlin动态图
查看>>
openstack pike 使用 linuxbridge + vxlan
查看>>
vim 括号匹配 以及各种跳转技巧
查看>>
正在学习或准备学习 Web 应用开发的初学者
查看>>
各大公司架构实践聚合
查看>>
西安前端交流会 - 【前端求职、就业、面试技巧】- 第5期-2015.3.29 报名了
查看>>
Linux-进程间通信(四): 域套接字
查看>>
jq check 复选变单选。
查看>>
一个数组中同时找到最大/最小值
查看>>
python终端下打印颜色
查看>>
《从Paxos到ZooKeeper 分布式一致性原理与实践》阅读【Leader选举】
查看>>
RPC框架基础概念理解以及使用初体验
查看>>