有没有办法在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()
答案 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