Shu*_*ule 2 python instance-variables self keyword-argument python-3.x
在Python 3.3+中,给定一个带有方法的类,该类有一个实例变量,它是一个简单的object()对象(我们称之为self.FALSE).如何将该实例变量用作关键字参数的默认值?
class Test:
def __init__(self):
self.FALSE=object();
def Tester(self, key=self.FALSE):
pass;
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用,因为关键字参数默认值的范围不包括self(通常也不包括Test类).但它确实包括全局变量和至少一些对象.
有没有办法做到这一点?我现在没有迫切的需要,但如果我能以某种方式做到这一点,那将是非常好的.我认为你可以作为关键字参数默认值传递任何内容.当然必须有办法.
最初具有的价值默认key为None,并在功能,如果key是None,那么你可以设置默认值,无论你是喜欢.
def Tester(self, key=None):
if key is None:
key = self.FALSE
Run Code Online (Sandbox Code Playgroud)
此外,您不需要Python中的分号,就像我们在C/C++/JAVA中所需要的那样.
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |