2017-02-12 6 views
-1
私はPythonでOOPの概念を練習してる

にオブジェクトに属性、および私はこの問題に出くわした:の保存は、Python

class User: 
    def __init__(self, username, email, password, 
     firstname, lastname, phone): 

     self.username = "" 
     self.email = "" 
     self.password = "" 
     self.firstname = "" 
     self.lastname = "" 
     self.phone = "" 

user=User('x','y','z','f','v','c') 
print(vars(user)) 

結果:

{'username': '', 'firstname': '', 'lastname': '', 'phone': '', 'password': '', 'email': ''} 

値がオブジェクトに保存されません。これをどうすれば解決できますか?

答えて

3

インスタンス変数に関数の引数を割り当てる必要があります。

class User: 
    def __init__(self, username, email, password, 
     firstname, lastname, phone): 

     self.username = username 
     self.email = email 
     self.password = password 
     self.firstname = firstname 
     self.lastname = lastname 
     self.phone = phone 

user=User('x','y','z','f','v','c') 
print(vars(user)) 
1

保存適切なインスタンス変数へのコンストラクタ引数:

def __init__(self, username, email, password, firstname, lastname, phone): 
    self.username = username 
    # etc.