2024-04-26 11:09:04 发布
网友
class itself:
A class method receives the class as implicit first argument, just like an instance method receives the instance.
class C: @classmethod def f(cls): print(cls.__name__, type(cls)) >>> C.f() C <class 'type'>
它是cls规范的,顺便说一句
cls
class method的第一个参数按惯例命名为cls,并引用调用该方法的类对象。
>>> class A(object): ... @classmethod ... def m(cls): ... print cls is A ... print issubclass(cls, A) >>> class B(A): pass >>> a = A() >>> a.m() True True >>> b = B() >>> b.m() False True
类对象作为第一个参数传递。例如:
class Foo(object): @classmethod def bar(self): return self()
将返回Foo类的实例。
编辑:
注意最后一行是self()而不是self。self将返回类本身,self()返回实例。
class itself:
它是
cls
规范的,顺便说一句class method的第一个参数按惯例命名为
cls
,并引用调用该方法的类对象。类对象作为第一个参数传递。例如:
将返回Foo类的实例。
编辑:
注意最后一行是self()而不是self。self将返回类本身,self()返回实例。
相关问题 更多 >
编程相关推荐