今天为大家带来的内容是介绍了Python 面向对象静态方法、类方法、属性方法,总结分析了Python 面向对象程序设计中静态方法、类方法、属性方法相关概念、知识点、操作技巧与使用注意事项,需要的朋友可以参考下!!!

文实例讲述了Python 面向对象静态方法、类方法、属性方法知识点。分享给大家供大家参考,具体如下:

(1)静态方法--》-@staticmethod装饰类中方法

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

(2)类方法-----》 @classmethod装饰类中方法

只能访问类变量,不能访问实例变量

(3)属性方法----》 @property #attribute装饰类中方法

把一个方法变成一个静态属性

1.需要将一个值传递给eat属性方法-----修改属性值?

存在的问题是变成属性了直接赋值是无法实现的,需要在重新相同的方法,同时将该方法加上@eat.setter进行装饰。

2.删除属性---同名方法使用 @eat.deleter修饰

总结:

1. 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需要通过类名来调用这个方法。

2. 类方法通过@classmethod装饰器实现,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量。

3. 属性方法的作用就是通过@property把一个方法变成一个静态属性,调用时与调用属性的方式相同。

3.1 把一个方法变成静态属性的作用:

当某个属性的值是一系列动作后才得到的结果。所以每次调用时,其实它都要经过一系列的动作才返回结果的,但这些动作过程不需要用户关心,用户只关心得到这个属性的值即可,也就是说用户只需要调用这个属性就可以了。

(1)修改属性值

将由@proerty装饰器(把一个方法变成一个静态属性)使用@proerty.setter装饰器再装饰一下,此时 你需要写一个新方法(同名), 对这个属性值进行更改。

(2)删除属性

#1:将由@proerty装饰器(把一个方法变成一个静态属性)使用@proerty.deleter装饰器再装饰一下,此时 你需要写一个新方法(同名)。

#2:使用del删除该实例所对应的属性方法(属性) 例如:del 对象.属性

以上就是本文的全部内容啦,希望能够对大家的学习有所帮助。

python 打印对象的全部属性_详解:Python 面向对象静态方法、类方法、属性方法知识点小结...相关推荐

  1. python调用cmd命令释放端口_详解python调用cmd命令三种方法

    目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码, ...

  2. python中有那几种赋值_详解Python列表赋值复制深拷贝及5种浅拷贝

    概述 在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新手来说,理所当然的事情却并不如意,比如列表的赋值.复制.浅拷贝.深拷贝等绕口的名词到底有什么区别和作用呢? 列表赋值 # 定义一个新 ...

  3. python中什么是可变参数_详解Python的三种可变参数

    详解Python的三种可变参数 可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中, ...

  4. python中yaml模块的使用_详解Python yaml模块

    一.yaml文件介绍 yaml是一个专门用来写配置文件的语言. 1. yaml文件规则 区分大小写: 使用缩进表示层级关系: 使用空格键缩进,而非Tab键缩进 缩进的空格数目不固定,只需要相同层级的元 ...

  5. python中list[1啥意思_详解Python中list[::-1]的几种用法

    本文主要介绍了Python中list[::-1]的几种用法,分享给大家,具体如下: s = "abcde" list的[]中有三个参数,用冒号分割 list[param1:para ...

  6. python正则匹配空格+数字+空格_详解Python中正则匹配TAB及空格的小技巧

    详解Python中正则匹配TAB及空格的小技巧 发布时间:2020-10-15 08:38:48 来源:脚本之家 阅读:94 作者:杰瑞26 在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任 ...

  7. python中fp是什么意思_详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(3)...

    详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(3) 上一节简单讲了下FP树的生成,在这一节我将描述FP树的挖掘过程. 首先我们回顾一下要挖掘的特征项及样本空间: ...

  8. python中filepath路径怎么写_详解Python中的路径问题

    1. 绝对路径引入 Python 在搜索模块时,依次搜索sys.path里的位置,直到找到模块为止.下面命令可以查看当前的搜索路径: import sys print(sys.path) sys.pa ...

  9. python os.path.exists 已存在_详解python os.path.exists判断文件或文件夹是否存在

    1.SocketServer模块编写的TCP服务器端代码 Socketserver原理图服务端:import SocketServer #导入SocketServer,多线程并发由此类实现 class ...

  10. python中for循环怎么打开_详解Python中for循环的使用

    for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程" 一文讨论了 if 语句和 while 循环,讨论了复合语句以及适当缩进 Python 语句来 ...

最新文章

  1. svn的merge,解决冲突
  2. 如何在arm平台移植ubuntu系统(转)
  3. 红管2不显示服务器,红色管弦乐队2怎么建立服务器 | 手游网游页游攻略大全
  4. Introduction to the Optimizer --cbo
  5. Mysql删除数据时出现执行很慢并且删除失败--线程堵塞
  6. Mac 下载并使用 Adobe Audition CC 2019 分离 人物语音和背景音乐
  7. HBase MemStore和Compaction剖析
  8. 【数字IC精品文章收录】近500篇文章|学习路线|基础知识|接口|总线|脚本语言|芯片求职|安全|EDA|工具|低功耗设计|Verilog|低功耗|STA|设计|验证|FPGA|架构|AMBA|书籍|
  9. html mht word,mht格式怎么转换成word
  10. 泛联新安EDA系列——国内自主研发,首款集成双国军标的HDL代码缺陷管理平台VHawk
  11. 如何利用Tempo BI大数据分析工具快速完成数据同环比分析?
  12. R安装时出现辑程包不存在,解决方法
  13. matlab 绘图与动画制作
  14. 申请清华大学计算机类的理由,青年人选择清华的七个理由
  15. C#大恒相机采集图片时图片上下对称折叠了
  16. 「数据运营」理解DataOps运营
  17. pandas等导入excel后 日期时间无法直接运算的问题 (str转datetime的方法)
  18. vscode 实用插件
  19. 谁打开了便携笔记本的潘多拉盒子
  20. YMIR-人脸检测-深度学习模型一站式开发

热门文章

  1. 杭电第七次作业c语言短学期,杭电短学期:算法与编程.doc
  2. android 拖动进度,Android 可拖动的seekbar自定义进度值
  3. 桥梁计算机辅助设计直接建模法,基于CATIA的大型桥梁三维建模方法
  4. php字符型和数字型的注入,Sql注入的分类:数字型+字符型
  5. yum mysql my.ini_Centos7 yum安装mysql
  6. Oracle RAC 11.2.0.3 节点CRS无法启动报:no network hb 故障解决方法
  7. was修改堆内存_WAS问题解决思路
  8. SSM实现的在线挂号预约管理系统源码
  9. Java Swing Mysql实现的Ktv点歌系统项目源码附带视频运行教
  10. 基于JAVA+SpringBoot+Mybatis+MYSQL的在线点餐系统