【问题标题】:How can I dynamically create an object of a class in python 3?如何在 python 3 中动态创建一个类的对象?
【发布时间】:2021-06-13 02:38:08
【问题描述】:

我正在尝试(作为课堂练习的个人练习)创建一种学校登记册。我已经创建了学生类,但是我希望用户为每个学生插入信息,但我真的不知道该怎么做(我必须创建一个变量来创建一个对象)......我在网上搜索但我发现什么都没有,我发现的是大约 11 年前使用 python 2 的东西......

class Student(object):
    def __init__(self, name, surname, age, grade, address):
        self.name = name
        self.surname = surname
        self.age = age
        self.grade = grade
        self.address = address

number_of_students = input('How many students do you want to create? --> ')

for x in range(number_of_students):
    #create a student entering the infos
    pass

所以。这是一个类和一个for循环,只是为了看看如何动态创建对象(稍后我想创建一个函数来做到这一点)

【问题讨论】:

    标签: python python-3.x class object dynamic


    【解决方案1】:

    获取所有必填字段,创建对象,将对象存储在某处,即列表中

    class Student(object):
        def __init__(self, name, surname, age, grade, address):
            self.name = name
            self.surname = surname
            self.age = age
            self.grade = grade
            self.address = address
    
    def create_student():
        name = input("Enter name")
        surname = input("Enter surname")
        age = input("Enter age")
        grade = input("Enter grade")
        address = input("Enter address")
        return Student(name, surname, age, grade, address)
    
    number_of_students = input('How many students do you want to create? --> ')
    students = []
    for x in range(number_of_students):
        #create a student entering the infos
        students += [create_student()]
    

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多