web-dev-qa-db-ja.com

Python空のコンストラクター

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()
9
Narek Tarasyan
class Point:
    def __init__(self):
        pass
16
Waxrat

コメントで@jonrsharpeが言ったように、デフォルトの引数を使用できます。

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

これで、Point()を呼び出すことができます

13

Pointクラスの__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"
3
PurpleJo

わずかに異なる方法でクラスを構築することにより、目的の結果を達成できます。

class Point:
    def __init__(self):
        pass

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