Python空构造函数

时间:2017-03-19 09:09:40

标签: python initialization default

有没有办法在python中创建一个空构造函数。我有一节课:

class Point:
    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

现在我将它初始化为:

p = Point(0, 5, 10)

如何创建一个空构造函数并将其初始化为:

p = Point()

4 个答案:

答案 0 :(得分:12)

class Point:
    def __init__(self):
        pass

答案 1 :(得分:11)

正如@jonrsharpe在评论中所说,你可以使用默认参数。

class Point:
    def __init__(self, x=0, y=0, z=0):
        self.x = x
        self.y = y
        self.z = z

现在您可以致电Point()

答案 2 :(得分:3)

您应该使用可选参数定义__init__()类的Point方法。

在您的情况下,这应该有效:

class Point:
    def __init__(self, x=0, y=0, z=0):
        self.x = x
        self.y = y
        self.z = z

pointA = Point(0, 5, 10)
print("pointA: x={}, y={}, z={}".format(pointA.x, pointA.y, pointA.z))
# print "pointA: x=0, y=5, z=10"

pointB = Point()
print("pointB: x={}, y={}, z={}".format(pointB.x, pointB.y, pointB.z))
# print "pointB: x=0, y=0, z=0"

答案 3 :(得分:1)

您可以通过稍微不同的方式构造类来获得所需的结果。

class Point:
    def __init__(self):
        pass

    def setvalues(x, y, z):
        self.x = x
        self.y = y
        self.z = z