3

トレーニングのために、クラスを使用してシステムにユーザーを自動的に作成したいと考えています。

これが私のコードです:

class CsrUser(object):
    def __init__(self, f_name, l_name, login, role, sex, password ='Hot12345'):
        self.f_name = f_name
        self.l_name = l_name
        self.login = login
        self.role = role
        self.sex = sex
        self.password = password

ユーザー入力からクラスの動的オブジェクトを作成したい、

#i want to create something like this
def get_users_data():
    new_user = input("Enter the user name")
    ... #get all the data
    new_user = CsrUser(...)

オブジェクトの名前を new_user 内の値にしたい

4

1 に答える 1

5

変数を使用して変数(あなたの場合はオブジェクト)に名前を付けるのは良い考えだとは思いません。すべてのユーザーを名前で追跡したい場合は、代わりに辞書を使用する必要があります。

#make dictionary
user_data = {}

#make a new user object
new_user = CsrUser(...)

#insert your new user object into the dictionary
#use new_user.f_name or new_user.l_name here in place of new_user.name (or combine both)
user_data[new_user.name] = new_user  

#to get a user object out of the dictionary 
a_user = user_data["name_here"]
于 2013-09-30T15:45:49.060 に答える