(转)Python记录@classmethod 修饰符

it2022-05-05  148

通常情况下,如果我们要使用一个类的方法,那我们只能将一个类实体化成一个对象,进而调用对象使用方法。

比如:

class Hello ( object ):     def __init__:         ...     def print_hello ( self):         print "Hello"

 要用 print_hello() 就得:

hlo = Hello ( ) hlo. print_hello ( ) Hello

如果用了 @classmethod 就简单了。

 

class Hello ( object ):     def __init__:         ...     @classmethod     def print_hello (cls ):         print "Hello"

要用的话直接:

Hello. print_hello ( ) Hello

注意:@classmethod 仅仅适用于单独的,与类本身的数据结构无关函数,其实用了它的函数,与使用普通函数无异,甚至不能在参数里加入 self,如果要在其中使用类的数据结构,仍然需要将类实例化一次才可以,所以要小心使用。

转载于:https://www.cnblogs.com/xiaoxiaoxin/p/3770362.html


最新回复(0)