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

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

class Baby():     # def __init__(self,name):#构造函数不是必须得     #     print('self的内存地址',id(self))     #     self.name=name     #     #self代表的就是实例化之后的对象     #     self.money=5000     #     self.sex='女'     country='China'#类变量,公共的变量,每个实例都可以用     def my(self):         self.name='nhy'     def cry(self):#实例方法         print('哇哇哇哇')     @property#看起来像属性的一个方法(没有入参可以用,结果就是返回值)
def h(self):         return 198     @classmethod#(不想实例化的时候,就可以用类方法)1、不用实例化就可以直接调用。2、它可以通过cls使用类变量3、它不能调用这个类里面的其他实例方法和实例变量
   def xm(cls):#cls代表的就是baby这个类         print(cls.country)         print('我是类方法')         # print(cls.name)         # cls.cry()     @staticmethod#就是一个普通的函数,只不过写在类里面而已,它用不了类变量,类方法,实例变量,实例方法
def xh():         print('静态方法,它和一个没写在类里面的函数一样') Baby.xh() Baby.xm() x=Baby() x.xm() # Baby.country='USA'#类变量可以直接用过类名,XXX来进行修改的 # dcg=Baby() # print(dcg.country) # dcg.country='Japan' # yjt=Baby() # print(yjt.country) # b=Baby() # print(b.h) # zll=Baby() # zll.my() # print(zll.name) # ka=Baby('可爱') # print('可爱的内存地址',id(ka)) # print(ka.money) # print(ka.sex) # ka.car='bmw x3' # print(ka.car) # xb=Baby('小白') # print(id(xb))

转载于:https://www.cnblogs.com/irisx/p/9063410.html

你可能感兴趣的文章
IO—》Properties类&序列化流与反序列化流
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
ActiveMQ与spring整合
查看>>
EOS生产区块:解析插件producer_plugin
查看>>
格式化输出数字和时间
查看>>
关于TFS2010使用常见问题
查看>>
URL编码与解码
查看>>
Eclipse 安装SVN插件
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Bootstrap栅格学习
查看>>