2017-02-12 88 views
-1

我练OOP概念在Python,和我过这个问题来了:保存属性的对象在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.