我有一个带有3个参数的类,但是,有时我希望能够只向该类传递两个参数,所以如果没有任何内容传递给第三个参数,它将转到默认值。
我想做的就是这样(伪代码)
class car(object):
def __init__(self, color, length, numWheels):
if numWheels == null:
numWheels = 4
在Py中有没有办法做到这一点?
答案 0 :(得分:3)
您可以使用默认参数值:
def __init__(self, color, length, numWheels = 4):
所以你可以这样称呼它:
c = car('black', 5, 8)
c = car('black', 5)
备注:强>
我建议您关注Python naming conventions。将您的班级命名为Car
,而不是car
。
null
。您应该阅读None
(类似)。
使用默认参数值时,您必须注意,如果它是一个可变对象,它将被一次评估,而不是每次创建一个对象。