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常用程序算法)
- python 循环遍历新方法(python for 循环获取index索引的方法)
- python实现网络爬虫的步骤(Python实现的爬取小说爬虫功能示例)
- python中list用法(Python数据类型之List列表实例详解)
- Python实现FTP弱口令扫描器的方法示例(Python实现FTP弱口令扫描器的方法示例)
- 怎么在当前目录调用python库(Python父目录、子目录的相互调用方法)
- python使用telnet(python 处理telnet返回的More,以及get想要的那个参数方法)
- python3目录操作(Python3 pip3 list 出现 DEPRECATION 警告的解决方法)
- python爬微信好友(python抓取需要扫微信登陆页面)
- pythonpandas提取列索引(Python3.5 Pandas模块缺失值处理和层次索引实例详解)
- python中字典的主要特点(Python里字典的基本用法包括嵌套字典)
- python怎么导入函数pandas(python将pandas datarame保存为txt文件的实例)
- python加密与解密(python实现简单加密解密机制)
- python装饰器初学者教程(Python3.5装饰器原理及应用实例详解)
- python使用aes加密解密(python实现AES和RSA加解密的方法)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
- 《内在美》后,一大波新韩剧来袭,李钟硕朴信惠宋慧乔玄彬回归(一大波新韩剧来袭)
热门推荐
- asp.net中Session的操作
- dockercp用法详解(Docker开启TLS和CA认证的方法步骤)
- mysql所有用户命令(MySQL用户管理与PostgreSQL用户管理的区别说明)
- TFS源代码管理
- 操作mysql的jdbc(JDBC连接的六步实例代码与mysql连接)
- mysql索引详解及基本用法(Mysql普通索引与唯一索引的选择详析)
- 在css中width是什么意思(Css深刻理解width:auto的用法)
- httpcontextbase 与 httpcontext
- docker容器启动后秒退(解决docker run 或者 docker restart 启动镜像就自动退出)
- css font的简写规则
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9