Skip to main content
 首页 » 编程设计

Python之具有可选参数和默认值类成员的类的方法

2025年05月04日27wayfarer

我有这样的事情(我知道这段代码行不通,但它更接近我想要实现的目标):

class A: 
    def __init__(self): 
        self.a = 'a' 
 
    def method(self, a=self.a): 
        print a 
 
myClass = A() 
 
myClass.method('b') # print b 
myClass.method() # print a 

到目前为止我所做的但我不喜欢的是:

class A: 
    def __init__(self): 
        self.a = 'a' 
 
    def method(self, a=None): 
        if a is None: 
            a = self.a 
 
        print a 
 
myClass = A() 
 
myClass.method('b') # print b 
myClass.method() # print a 

请您参考如下方法:

默认参数在定义时 计算。当类和方法被定义时 self.a 不是。

您的工作代码示例实际上是实现此行为的唯一干净方式。