有没有办法在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()
有没有办法在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()
class Point:
def __init__(self):
pass
正如@jonrsharpe在评论中所说,您可以使用默认参数。
class Point:
def __init__(self, x=0, y=0, z=0):
self.x = x
self.y = y
self.z = z
现在您可以调用Point()
通过以略微不同的方式构建类,您可以实现所需的结果。
class Point:
def __init__(self):
pass
def setvalues(self, x, y, z):
self.x = x
self.y = y
self.z = z
setvalues
应该将 'self' 作为第一个参数吗?此外,所有这些实例变量不都应该在 __init__
中定义吗? - RCrossPoint
类定义一个带有可选参数的__init__()
方法。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"