【发布时间】:2017-12-07 20:34:16
【问题描述】:
我正在从 Java 过渡到 Python,目前被这个看似简单的代码难住了,它的 Java 等效代码运行良好。
我正在尝试创建一个名为 TestClass 的对象,它要么接受一个名为 text 的参数,要么不接受任何参数;在这种情况下,会将默认字符串“foo”分配给文本实例变量。
class TestClass(object):
def __init__(self):
self.text = "foo"
def __init__(self, text):
self.text = text
a = TestClass()
b = TestClass("bar")
我真的无法查明问题并得到以下错误:
a = TestClass()
TypeError: init() 缺少 1 个必需的位置参数:'text
您的帮助将不胜感激,谢谢!
【问题讨论】:
-
默认参数:
def __init__(self, text="foo"):done -
很好用!