python 常用模块函数(Python OOP类中的几种函数或方法总结)
类别:脚本大全 浏览量:2660
时间:2022-01-26 01:25:28 python 常用模块函数
Python OOP类中的几种函数或方法总结概述
实例方法
- 使用实例调用时,默认传递实例本身到实例方法的第一个参数self
- 使用类调用时,必须传递一个实例对象到实例方法的第一个参数
静态方法
- 使用实例调用和类调用效果相同;
类方法
装饰器版:
- 使用实例调用和类调用效果相同;
classmethod(function)版:
- 在类中,尽量不要使用classmethod(function)实现类方法,会将其当做实例方法使用;
- 使用实例调用时,会默认传递实例本身到函数的第一个参数,如果函数的参数个数为0,则报错;
- 如果必须这样做,就使用类调用.
普通函数
- 在类中,尽量不要定义普通函数,会将其当做实例方法使用;
- 使用实例调用时,会默认传递实例本身到函数的第一个参数,如果函数的参数个数为0,则报错;
- 如果必须这样做,就使用类调用.
总而言之,除了装饰器版的类方法和静态方法外,其它方法与函数均可看做是实例方法.
代码与运行结果
|
class A( object ): def instant_method( self , * args): print ( '实例方法' , * args) @classmethod def class_method_01(clz, * args): """第一个参数为class,调用时自动传递""" print ( '类方法(装饰器版)' , * args) def class_method_02( * args): print ( '类方法(普通函数通过内置函数classmethond(function)转换版)' , * args) classmethod (class_method_02) @staticmethod def static_method( * args): print ( '静态方法' , * args) def normal_function( * args): print ( '普通函数' , * args) a = A() # 调用实例方法 a.instant_method( '通过实例调用' ) A.instant_method(a, '通过类调用' ) # 调用装饰器版类方法 a.class_method_01( '通过实例调用' ) A.class_method_01( '通过类调用' ) # 调用classmethod(function)版类方法 # 通过实例调用时,会默认传递实例本身到方法的第一个参数 a.class_method_02( '通过实例调用' ) A.class_method_02( '通过类调用' ) # 调用静态方法 a.static_method( '通过实例调用' ) A.static_method( '通过类调用' ) # 调用普通函数 # 通过实例调用时,会默认传递实例本身到方法的第一个参数 a.normal_function( '通过实例调用' ) A.normal_function( '通过类调用' ) |
输出
实例方法 通过实例调用
实例方法 通过类调用
类方法(装饰器版) 通过实例调用
类方法(装饰器版) 通过类调用
类方法(普通函数通过内置函数classmethond(function)转换版) <main.A object at 0x7f9b9b0486a0> 通过实例调用
类方法(普通函数通过内置函数classmethond(function)转换版) 通过类调用
静态方法 通过实例调用
静态方法 通过类调用
普通函数 <main.A object at 0x7f9b9b0486a0> 通过实例调用
普通函数 通过类调用
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/topleeyap/article/details/79157273
您可能感兴趣
- python正则表达式处理教学(使用Python正则表达式操作文本数据的方法)
- python 正则表达式语法大全(python re库的正则表达式入门学习教程)
- python操作sql server数据库(Python 数据库操作 SQLAlchemy的示例代码)
- python栈和队列(Python 实现数据结构中的栈队列)
- pythonhttp文件服务器(使用Python创建简单的HTTP服务器的方法步骤)
- 使用python编辑个人名片(python实现名片管理系统项目)
- python中如何清空列表数据(Python批量删除只保留最近几天table的代码实例)
- python编程将一个三位数反序输出(python实现整数的二进制循环移位)
- python动态数组原理(Python实现的旋转数组功能算法示例)
- python算法图解(python实现kmp算法的实例代码)
- python程序怎么打包(Python 实现文件打包、上传与校验的方法)
- 怎样在python中散点图(python使用Plotly绘图工具绘制散点图、线形图)
- python选择语句形式判断回文数(Python3实现的回文数判断及罗马数字转整数算法示例)
- python自动化邮件管理(Python实现E-Mail收集插件实例教程)
- 详解Python locals()的陷阱(详解Python locals的陷阱)
- python正则表达式入门(Python正则表达式实现简易计算器功能示例)
- 赵丽颖第一部当女主的戏,主角配角个个都是实力演员(赵丽颖第一部当女主的戏)
- 乾隆为何这么喜爱白塔原因是什么(乾隆为何这么喜爱白塔原因是什么)
- 逐渐消失的东北八大怪现象,进步的社会里我们遗失的是什么(逐渐消失的东北八大怪现象)
- 今日大雪,大雪养生这样做,一年都有好气色(大雪养生这样做)
- 粗盐是什么 粗盐的功效与作用(粗盐的功效与作用)
- 会 吃人 的客机 从天堂到地狱只需5分钟,图-104如何做到(会吃人的客机)
热门推荐
- dockerswarm使用教程(Docker Swarm集群管理的使用及原理解析)
- jquery如何优化
- laravel在中间件内生成参数并且传递到控制器中的2种姿势(laravel在中间件内生成参数并且传递到控制器中的2种姿势)
- mysql在centos7中如何安装(阿里云centos7安装mysql8.0.22的详细教程)
- sqlserver序列可以自定义(sql server 自定义分割月功能详解及实现代码)
- docker开源软件(5款超好用的开源 Docker工具强烈推荐)
- css边框样式讲解(纯css实现动态边框的示例代码)
- javascript如何建立一个静态变量(JavaScript中子函数访问外部变量的3种解决方法)
- dedecms搜索功能怎么设置详细(dedecms pagelist标签修改方法分享)
- python3字符串格式化怎么操作(python3实现字符串操作的实例代码)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9