python中怎么使用类方法和静态方法

python中怎么使用类方法和静态方法

小编给大家分享一下python中怎么使用类方法和静态方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

类方法

classPeople:country='China'#类方法用classmethod来修饰@classmethod#通过标识符来表示下方方法为类方法defget_country(cls):#习惯性使用clsreturncls.country#访问类属性passpassprint(People.get_country())#通过类对象去引用p=People()print('实例对象访问%s'%p.get_country())#通过实例对象去访问

classPeople:country='China'#类方法用classmethod来修饰@classmethod#通过标识符来表示下方方法为类方法defget_country(cls):#习惯性使用clsreturncls.country#访问类属性pass@classmethoddefchange_country(cls,data):cls.country=data#修改类属性的值在类方法中passprint(People.get_country())#通过类对象去引用p=People()print('实例对象访问%s'%p.get_country())People.change_country('英')print(People.get_country())

静态方法

classPeople:country='China'#类方法用classmethod来修饰@classmethod#通过标识符来表示下方方法为类方法defget_country(cls):#习惯性使用clsreturncls.country#访问类属性pass@classmethoddefchange_country(cls,data):cls.country=data#修改类属性的值在类方法中pass@staticmethoddefgetData():#无需传参数returnPeople.countrypassprint(People.getData())#可以访问#print(People.get_country())#通过类对象去引用p=People()print(People.getData())#可以访问注意一般情况下我们不会通过实例对象去访问静态方法

为什么要使用静态方法呢?
由于静态方法主要来存放逻辑性的代码 本身和类以及实例对象没有交互
也就是说 在静态方法中 不会涉及到类中方法和属性的操作
数据资源能够得到有效的充分利用

#demo返回当前的系统时间importtime#引入时间模块classTimeTest:def__init__(self,hour,min,second):self.hour=hourself.min=minself.second=second@staticmethod#直接定义为静态方法不需要实例属性defshowtime():returntime.strftime('%H:%M:%S',time.localtime())passprint(TimeTest.showtime())t=TimeTest(2,10,15)print(t.showtime())#无必要直接使用静态方法输出仍是导入时间




复习


看完了这篇文章,相信你对“python中怎么使用类方法和静态方法”有了一定的了解,如果想了解更多相关知识,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

发布于 2022-03-03 21:27:05
收藏
分享
海报
0 条评论
48
上一篇:python中eval()函数怎么用 下一篇:SQL行转列与列转行的方法
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码