python基础之类方法和静态方法


Posted in Python onOctober 24, 2021

类方法

python基础之类方法和静态方法

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

python基础之类方法和静态方法

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

python基础之类方法和静态方法

静态方法

python基础之类方法和静态方法

class People:
    country='China'
    # 类方法 用classmethod来修饰
    @classmethod  #通过标识符来表示下方方法为类方法
    def get_country(cls):  #习惯性使用cls
        return cls.country  #访问类属性
        pass
    @classmethod
    def change_country(cls,data):
        cls.country=data  #修改类属性的值在类方法中
    pass
    @staticmethod
    def getData():  #无需传参数
        return People.country
    pass
print(People.getData())   #可以访问

# print(People.get_country())  #通过类对象去引用
p=People()
print(People.getData())   #可以访问  注意 一般情况下 我们不会通过实例对象去访问静态方法

python基础之类方法和静态方法

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

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

python基础之类方法和静态方法

python基础之类方法和静态方法

python基础之类方法和静态方法

python基础之类方法和静态方法

复习

python基础之类方法和静态方法

python基础之类方法和静态方法

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
python数组复制拷贝的实现方法
Jun 09 Python
解析Python编程中的包结构
Oct 25 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
Oct 11 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
Jun 17 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
python中if嵌套命令实例讲解
Feb 25 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 Python
Python Matplotlib绘制条形图的全过程
python基础之模块的导入
python基础之文件操作
python基础之错误和异常处理
Python中递归以及递归遍历目录详解
Oct 24 #Python
python基础之函数的定义和调用
python 标准库原理与用法详解之os.path篇
Oct 24 #Python
You might like
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
详解Python中expandtabs()方法的使用
2015/05/18 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
python实现飞机大战微信小游戏
2020/03/21 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
python实现简易学生信息管理系统
2020/04/05 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
生态学毕业生自荐信
2013/10/27 职场文书
经理职责范文
2013/11/08 职场文书
迎八一活动主题
2014/01/31 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
MySQL创建表操作命令分享
2022/03/25 MySQL
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript