2017-03-19 22 views
1

Pythonで空のコンストラクタを作成する方法はありますか?私はクラスを持っている:Python空のコンストラクタ

p = Point(0, 5, 10) 

がどのように私は空のコンストラクタを作成し、このようにそれを初期化することができます:

p = Point() 
+3

をそして第​​二に、バージョンのX、Y、Zが何をする必要があります:あなたのケースでは

、これは動作するはず?あなたはデフォルトの議論を望んでいないのですか?あなたはチュートリアルを読んだり、いくつかの研究をしてみましたか? – jonrsharpe

答えて

-2
class Point: 
    def __init__(self): 
     pass 
+0

しかし、これは現在の実装と共存できません。その名前のメソッドは1つだけ保持されます。 – jonrsharpe

+0

このコードは質問に答えるかもしれませんが、どのようにして問題を解決するか、そして/または理由を解決するための追加のコンテキストを提供すると、回答の長期的価値が向上します。 –

6

として

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

は今、私はこのようにそれを初期化します@ jonrsharpeはコメントで、あなたはデフォルトの引数を使用することができます。

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

今、あなたはあなたがオプションのパラメータを使用してPointクラスの__init__()メソッドを定義する必要がありますPoint()

2

を呼び出すことができます。

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" 
関連する問題