python的静态方法和类方法(深入解析python中的实例方法、类方法和静态方法)
类别:脚本大全 浏览量:2576
时间:2021-11-05 14:21:30 python的静态方法和类方法
深入解析python中的实例方法、类方法和静态方法1、实例方法/对象方法
实例方法或者叫对象方法,指的是我们在类中定义的普通方法。
只有实例化对象之后才可以使用的方法,该方法的第一个形参接收的一定是对象本身
2、静态方法
(1).格式:在方法上面添加 @staticmethod
(2).参数:静态方法可以有参数也可以无参数
(3).应用场景:一般用于和类对象以及实例对象无关的代码。
(4).使用方式: 类名.类方法名(或者对象名.类方法名)。
定义一个静态方法
|
class Game: @staticmethod def menu(): print ( '------' ) print ( '开始[1]' ) print ( '暂停[2]' ) print ( '退出[3]' ) Game.menu() |
3、类方法
无需实例化,可以通过类直接调用的方法,但是方法的第一个参数接收的一定是类本身
(1).在方法上面添加@classmethod
(2).方法的参数为 cls 也可以是其他名称,但是一般默认为cls
(3).cls 指向 类对象
(5).应用场景:当一个方法中只涉及到静态属性的时候可以使用类方法(类方法用来修改类属性)。
(5).使用 可以是 对象名.类方法名。或者是 类名.类方法名
|
class Person: type = '人类' @classmethod def test( cls ): print ( cls . type ) Person.test() |
举例:使用类方法对商品进行统一打折
|
class Goods: __discount = 1 def __init__( self , name, price): self .name = name self .price = price @classmethod def change_discount( cls , new_discount): cls .__discount = new_discount @property def finally_price( self ): return self .price * self .__discount banana = Goods( '香蕉' , 10 ) apple = Goods( '苹果' , 16 ) Goods.change_discount( 0.8 ) print (banana.finally_price) print (apple.finally_price) Goods.change_discount( 0.5 ) print (banana.finally_price) print (apple.finally_price) |
输出为:
8.0
12.8
5.0
8.0
以上所述是小编给大家介绍的python中的实例方法、类方法和静态方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://blog.csdn.net/weixin_44251004/article/details/86499231#3_28
您可能感兴趣
- python最基本的编程工具(5款Python程序员高频使用开发工具推荐)
- python模块光照强度(我如何用 CircuitPython 和开源工具监控温室)
- python线程池如何实现同步(Python mutiprocessing多线程池pool操作示例)
- python矩阵怎么生成(python实现矩阵打印)
- python对mysql数据分析(python使用adbapi实现MySQL数据库的异步存储)
- pythonide使用教程(对Python Pexpect 模块的使用说明详解)
- 微信昵称python(Python 微信之获取好友昵称并制作wordcloud的实例)
- python定时任务详解(使用Python做定时任务及时了解互联网动态)
- python正则表达式处理教学(使用Python正则表达式操作文本数据的方法)
- python单例编程(浅谈Python反射 & 单例模式)
- python中split使用方法(python lxml中etree的简单应用)
- python读取word的表格(Python使用reportlab模块生成PDF格式的文档)
- python itchat库介绍(Python利用itchat库向好友或者公众号发消息的实例)
- python一分钟认识条件判断(对python判断ip是否可达的实例详解)
- python实现购物网站(Python实战购物车项目的实现参考)
- python3.8爬虫需要的包(python爬取基于m3u8协议的ts文件并合并)
- 写信告诉我今天海是什么颜色(写信告诉我今天海是什么颜色回答)
- 英语难学吗(法语比英语难学吗)
- 今天要吃什么(今天要吃什么菜好)
- 网红直播可以赚很多钱吗(网红直播可以赚很多钱吗)
- 今天是什么日子(今天是什么日子有什么特殊意义吗)
- 这里输入关键词(怎么输入关键词搜索)
热门推荐
- python复杂的验证码处理(Python 通过打码平台实现验证码的实现)
- video tv cast怎么用(video下autoplay属性无效的解决方法添加muted属性)
- 怎么用织梦上传源码(如何把织梦dedecms数据生成json)
- MVC Model验证
- php验证码初始化教程交流(PHP token验证生成原理实例分析)
- mysql慢日志查询作用(MySQL 慢查询日志的开启与配置)
- filezilla连接远程服务器配置(FileZilla 425 无法连接FTP的解决方法阿里云服务器)
- thinkphp框架案例(thinkphp5.1框架容器与依赖注入实例分析)
- 纯css写三角形(老生常谈 使用 CSS 实现三角形的技巧多种方法)
- mysql中提取日期的函数是什么(MySQL获得当前日期时间函数示例详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9