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中怎么使用类方法和静态方法”有了一定的了解,如果想了解更多相关知识,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
推荐阅读
-
Python 3.12 新特性解析:模式匹配增强与性能优化实战
-
Lightly IDE 深度评测:轻量级 Python 开发工具是否适合团队协作?
-
VS Code 自定义配置:JSON 文件修改、代码片段与任务自动化脚本
-
Python 虚拟环境选择:venv、conda、poetry 的适用场景对比
-
PyCharm+GitHub Copilot:Python 开发中 AI 辅助编码的最佳实践
-
PyCharm 无法识别虚拟环境?5 步排查 Python 解释器配置问题
-
数据科学工具链:Jupyter Notebook+RStudio+Python 的协同工作流
-
Python 3.12 新特性:模式匹配增强与性能改进实战
-
Lightly IDE 适合谁?轻量级 Python 开发工具深度评测
-
Python IDE 终极对比:PyCharm vs VS Code vs Jupyter Notebook