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 selenium用法详解(python selenium执行所有测试用例并生成报告的方法)
- python撤回的微信消息怎么看(Python实现微信消息防撤回功能的实例代码)
- python操作pandas(详解Python学习之安装pandas)
- python实现层次遍历二叉树(Python实现的序列化和反序列化二叉树算法示例)
- 随意化快排python算法(python快排算法详解)
- pythontkinter详解(python3.6使用tkinter实现弹跳小球游戏)
- python数据分割教程(python3对拉勾数据进行可视化分析的方法详解)
- python3.5 tkinter教程(解决python3.5 正常安装 却不能直接使用Tkinter包的问题)
- python微信消息模拟请求(python实现微信机器人: 登录微信、消息接收、自动回复功能)
- pythonlambda是什么函数(Python之lambda匿名函数及map和filter的用法)
- python socket 库(Pythony运维入门之Socket网络编程详解)
- python图片模板匹配(python实现简单图片物体标注工具)
- python将字符串转换为时间格式(Python时间和字符串转换操作实例分析)
- python如何用md5作为文档名(Python生成MD5值的两种方法实例分析)
- python pandas 匹配值(python 使用pandas计算累积求和的方法)
- python 读文件报错处理(解决python写入带有中文的字符到文件错误的问题)
- 刘智泰确认出演《Good Wife》 担纲男一号(刘智泰确认出演Good)
- 《傲骨之战》剧终 律政女魔头Diane,为什么是大女主天花板(傲骨之战剧终律政女魔头Diane)
- 汉族(汉族的祖先是谁)
- 中国有几个名族(中国有几个民族没列入56个民族)
- 数学语文题目(语文的数学题)
- 香蕉(香蕉三种人不宜吃)
热门推荐
- php验证码图解(php/JS实现的生成随机密码验证码功能示例)
- dedecms设置二级域名(织梦DEDECMS中要删除指定IP的评论的方法)
- docker容器的使用过程(详解docker容器的层的概念)
- docker前端项目(Docker部署Nuxt.js项目的实现)
- 宝塔面板腾讯云服务器安装流程(腾讯云服务器安装宝塔面板图文教程)
- python人脸识别库有几个(Python人脸识别第三方库face_recognition接口说明文档)
- phpstudyv8.0使用教程学习(phpStudy环境安装SSL证书教程)
- javascript四种数组(javascript数组includes、reduce的基本使用)
- vue代码统计(Vue实现计数器案例)
- vue的修饰符都有哪些(详解Vue的sync修饰符)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9