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交互执行shell脚本(python 利用文件锁单例执行脚本的方法)
- python炫酷烟花源代码(python实现浪漫的烟花秀)
- pythonkeys怎么用(浅谈python的深浅拷贝以及fromkeys的用法)
- python如何遍历一个列表(说说如何遍历Python列表的方法示例)
- python里面的print怎么用(python中的print输出)
- python拖动选择文件操作(python通过paramiko复制远程文件及文件目录到本地)
- python全局变量设置(Python3.5局部变量与全局变量作用域实例分析)
- python的三维画图(python处理DICOM并计算三维模型体积)
- python零基础入门五小时(从0开始的Python学习016异常)
- python语言案例教程单元测试(Python单元和文档测试实例详解)
- python类中的数据封装(基于python生成器封装的协程类)
- python线程池有几种(对python 多线程中的守护线程与join的用法详解)
- java集成钉钉发送消息(Python实现钉钉发送报警消息的方法)
- python基础教学之125 装饰器简介(python3 property装饰器实现原理与用法示例)
- python单例模式读取配置文件(Python下简易的单例模式详解)
- pythonnumpy求行列式的值(Python numpy中矩阵的基本用法汇总)
- 菲律宾旅游攻略(菲律宾旅游攻略地图)
- 清华大学难考吗(清华大学考研录取分数线)
- 观花盆栽佛肚竹盆景制作及养护(观花盆栽佛肚竹盆景制作及养护)
- 春天养佛肚竹,做好这几件事,叶绿根壮寓意好 越养越旺家(春天养佛肚竹做好这几件事)
- 律界衣品最好,时尚圈学识数高,41岁的Amal堪称现实版的傲骨贤妻(时尚圈学识数高)
- 刘智泰确认出演《Good Wife》 担纲男一号(刘智泰确认出演Good)
热门推荐
- dedecms二次开发教程(dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容)
- dedecms安装与配置详解(LuManager服务器管理软件安装DEDECMS软件图文教程)
- python自动化邮件管理(Python实现E-Mail收集插件实例教程)
- extjs column列布局
- python做出来的游戏按什么键运行(python pygame实现方向键控制小球)
- sql中row的用法(sql server数据库中raiserror函数用法的详细介绍)
- mysql数据库基础练习(最全50个Mysql数据库查询练习题)
- 织梦栏目怎么管理(织梦“模块管理”里面的“模块列表”显示空白的解决方法)
- html代码简单特效(HTML实现代码雨源码及效果示例)
- extjs accordion折叠布局
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9