快捷搜索:  手机  明星

python如何定义可选参数的类(Python静态方法)

python如何定义可选参数的类(Python静态方法)class C(object): def foo(cls): print("calling class method foo()") foo=classmethod(foo) (2)使用函数装饰器声明class C(object): @classmethod def foo(cls): print("calling class method foo()") 4. 公有方法与私有方法Python中声明的方法,默认都是公有的方法,要声明为私有方法,需要在名称前面添加"__"。class C(object): # 公有方法 def foo(self): pass # 私有方法 def __pri

python如何定义可选参数的类(Python静态方法)(1)

1. 实例方法

普通实例方法,第一个参数需要是self,它表示一个具体的实例本身。

2. 静态方法

静态方法是类中不需要实例的函数,无self,仅仅是类中的函数。
可以由类实例或类调用。
(1)使用staticmethod()方法声明静态方法

class C(object): def foo(): print("calling static method foo()") foo=staticmethod(foo)

(2)使用函数装饰器声明

class C(object): @staticmethod def foo(): print("calling static method foo()") 3. 类方法

类方法将类作为第一个参数传入,而不是self(实例),第一个参数必须类对象,一般习惯用cls。
可以由类实例或类调用。
(1)使用classmethod()方法声明类方法

class C(object): def foo(cls): print("calling class method foo()") foo=classmethod(foo)

(2)使用函数装饰器声明

class C(object): @classmethod def foo(cls): print("calling class method foo()") 4. 公有方法与私有方法

Python中声明的方法,默认都是公有的方法,要声明为私有方法,需要在名称前面添加"__"。

class C(object): # 公有方法 def foo(self): pass # 私有方法 def __private_foo(self): pass

私有属性的声明也是在名称前面添加"__"

猜您喜欢: