2015-03-02 26 views
1

Python中以下可能嗎?我在Google上搜尋了一段時間,然而卻沒有回答這個問題。是否可以用特定的參數初始化一個python類?

class X_Class: 
    def __init__(self, arg_0, arg_1 = False, arg_2 = False): 
     self.arg_1 = arg_1 
     self.arg_2 = arg_2 

myX = X_Class("anything", arg_2 = True) 

如果是,如何引用的初始化函數的參數?

編輯:核心問題是在超類,但是謝謝你讓我快速在正確的軌道上。

+1

除了在構造函數遺忘self.arg_0 = ARG_0,什麼是你的代碼不這樣做,你想讓它? – 2015-03-02 23:18:14

回答

2

當你調用任何調用,您可以指定參數是什麼什麼:

def f(x, y=1, z=2): pass 
f(0, z=3) 

所以,你的代碼是正確執行你的描述。

5

是的 - 這正是語法,其實:

class X_Class(object): 
    def __init__(self, arg_0, arg_1=False, arg_2=False): 
     self.arg_0 = arg_0 
     self.arg_1 = arg_1 
     self.arg_2 = arg_2 

myX = X_Class("anything", arg_2=True) 
相關問題