原文:python学习之self,cls,staticmethod,classmethod

一 总体说明 python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种, 一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法必须通过一个类的实例去访问,类似于c 中通过对象去访问 二是在def前面加上 classmethod,这种类方法的一个特点就是可以通过类名去调用,但是也必须传递一个参数,一般用cls表示class,表示可以通过类 ...

2015-01-14 18:28 0 6616 推荐指数:

查看详情

python @staticmethod和@classmethod

首先记住: 面向对象的三大特点是 数据封装、继承和多态 python 其实有3个方法,即静态方法(@staticmethod),类方法(@classmethod)和实例方法; 普通实例方法,第一个参数需要是self,它表示一个具体的实例本身。 静态方法 如果用了装饰器 ...

Thu May 28 06:16:00 CST 2020 0 689
(译文)Python中的staticmethodclassmethod

原文是stackoverflow的一则高票回答,原文链接 可能之前也有人翻译过,但是刚好自己也有疑惑,所以搬运一下,个人水平有限所以可能翻译存在误差,欢迎指正(如侵删)。 尽管classmethodstaticmethod非常的相似,但是两者在具体的使用上还是有着细微的差别 ...

Sat Jul 09 00:49:00 CST 2016 2 14612
python中@classmethod @staticmethod区别

Python中3种方式定义类方法, 常规方式, @classmethod修饰方式, @staticmethod修饰方式. 1.定义方式 普通的类方法foo()需要通过self参数隐式的传递当前类对象的实例。 @classmethod修饰的方法class_foo()需要通过cls参数传递当前 ...

Fri Sep 16 20:15:00 CST 2016 4 79770
pythonselfcls

普通的方法,第一个参数需要是self,它表示一个具体的实例本身。如果用了staticmethod,那么就可以无视这个self,而将这个方法当成一个普通的函数使用。而对于classmethod,它的第一个参数不是self,是cls,它表示这个类本身。>>> class ...

Fri Mar 15 06:59:00 CST 2013 0 27795
python的@classmethod和@staticmethod的区别和使用

@classmethod classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。 输出结果如下 @staticmethod python ...

Sat Jan 04 09:16:00 CST 2020 0 683
python @staticmethod和@classmethod的作用与区别

执行结果如下: 个人理解: @staticmethod 不需要访问和类相关的属性或数据(感觉只是概念上的区别,你这样声明了用的人就知道了,如果你非要在这个方法中访问test.xxx 它就和@classmethod的作用一样 ...

Wed Jun 12 01:26:00 CST 2019 0 2325
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM