创建动态对象python

Or *_*imi 3 python class dynamic

对于培训,我想在使用类的系统中创造性地创建用户.

这是我的代码:

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
Run Code Online (Sandbox Code Playgroud)

我想从用户输入创建类的动态对象,

#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(...)
Run Code Online (Sandbox Code Playgroud)

我希望对象的名称是new_user中的值

Tyl*_*ler 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"]
Run Code Online (Sandbox Code Playgroud)

  • 字典正是你应该使用的.我看了你的个人资料,你的生物说你正在学习python,你应该习惯使用词典. (2认同)