Python里的instance method, classmethod与staticmethod
来源:互联网 发布:软件开发工资待遇 编辑:程序博客网 时间:2024/06/18 01:03
在Python里, 在class里定义的方法可以大致分为三类: 实例方法, 类方法与静态方法.
用一个表格总结如下:
@classmethod
cls, instance cls 静态方法 @staticmethod
cls, instance 无示例:
class Foo(): # 无修饰 def instance_method(self): #传入的第一个参数是self, 即instance本身 print('the first argument of instance_method:', self) @classmethod def class_method(cls): # 传入的第一个参数是class print('the first argument of class_method:', cls) @staticmethod def static_method(): # 没有默认的首位参数, 只有自定义参数 print('the first argument of static_method:')foo = Foo()foo.instance_method()Foo.class_method()foo.class_method()Foo.static_method()foo.static_method()try: Foo.instance_method()except: print('instance method can not be accessed through class.')
输出:
the first argument of instance_method: <__main__.Foo object at 0x7fd135ec3b38>the first argument of class_method: <class '__main__.Foo'>the first argument of class_method: <class '__main__.Foo'>the first argument of static_method:the first argument of static_method:instance method can not be accessed through class
需要注意:
1. @classmethod
与@staticmethod
是Python的built-in methods.
2. 特殊方法__new__
虽然不用@classmethod
修饰, 但它也是class method.
阅读全文
0 0
- Python里的instance method, classmethod与staticmethod
- python的staticmethod、classmethod
- python 的@classmethod &&@staticmethod
- 理解python的staticmethod与classmethod实现
- 理解python的staticmethod与classmethod实现
- Python中classmethod, staticmethod和普通method的区别
- Python中的staticmethod与classmethod
- Python内置函数的staticmethod()与classmethod(),@staticmethod,@classmethod
- python的staticmethod和classmethod
- python的@classmethod和@staticmethod
- 飘逸的python - @staticmethod和@classmethod的作用与区别
- python - @staticmethod和@classmethod的作用与区别
- python中@staticmethod 、@classmethod 与一般方法的区别
- python中classmethod与staticmethod的差异及应用
- python中@classmethod与@staticmethod的区别和用法
- python中classmethod与staticmethod的差异及应用
- python @staticmethod和@classmethod的作用与区别
- Python中classmethod与staticmethod区别
- tensorflow(1)
- 论文投稿需要注意哪些细节
- 翻转单词顺序列
- QWidget::paintEvent 被调用的场景
- SSM构建WebService所遇问题及处理
- Python里的instance method, classmethod与staticmethod
- OMAPL138控制板链接问题
- Hao
- dwa_local_planner源码分析
- 二分查找--查找重复有序数组中最左边的target
- 文件操作fstream的使用方法
- 读《大学之路》下册
- zookeeper管理数据库连接信息
- 学习JavaScript数据结构与算法(三)——队列