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
您可能感兴趣
- pythontkinter详解(python3.6使用tkinter实现弹跳小球游戏)
- python删除list的指定元素(Python list列表中删除多个重复元素操作示例)
- pythonmatplotlib怎么用(Python matplotlib画图与中文设置操作实例分析)
- python mysql配置(详解python校验SQL脚本命名规则)
- python多线程并发使用场景(对python多线程SSH登录并发脚本详解)
- python中输入背景颜色的代码(Python 给屏幕打印信息加上颜色的实现方法)
- python使用门算法加密文件(python实现栅栏加解密 支持密钥加密)
- python比go语言简单(Python和Go语言的区别总结)
- python操作json格式(详解python 3.6 安装json 模块simplejson)
- pythonmatplotlib怎么画区域(python matplotlib实现双Y轴的实例)
- python操作json库(Python将json文件写入ES数据库的方法)
- python去除字符串中间的空格(Python去除字符串前后空格的几种方法)
- python如何编写判断正负数程序(Python实现判断一个整数是否为回文数算法示例)
- python获取日期(Python根据当前日期取去年同星期日期)
- python selenium用法详解(python selenium执行所有测试用例并生成报告的方法)
- python如何编写一个用户登录系统(Python实现的登录验证系统完整案例基于搭建的MVC框架)
- 你好,新成理人丨成都理工大学2019级新生开学典礼隆重举行(新成理人丨成都理工大学2019级新生开学典礼隆重举行)
- 这部民警编演的红色话剧,讲述了一个不断追寻的故事(这部民警编演的红色话剧)
- 日本菜有什么好吃(日本菜有什么好吃的做法)
- 韩国泡菜做法(韩国泡菜的做法步骤)
- 泰国旅游攻略(泰国旅游攻略必去景点)
- 越难春卷(越难春卷皮怎么用)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9