Create list of object in python
本问题已经有最佳答案,请猛点这里访问。
我必须创建一个包含学生姓名和学号的学生名单但是,当我创建新的班级学生对象时,将其附加到我的列表中,列表中的每个对象都会发生更改,并为所有学生获取相同的数据。我该怎么办??代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | class Student: name = 'abc' roll_no = 1 def print_info (self): print(Student.name,"\t",Student.roll_no) def input_info (self): Student.roll_no = int(input("Enter Student roll number ")) Student.name = input("Enter Student name ") ch=1 students = [] while ch!=3: print("1.Create new Student 2. Display students 3.Exit") ch=int(input("Enter choice\t"))`enter code here` if ch==1 : tmp=Student() tmp.input_info() students.append(tmp) elif ch==2: print("---Students Details---") print("Name\tRoll No") for i in students: i.print_info() |
输出:代码输出
append方法的语法如下:
1 | list.append(obj) |
因此,您应将
1 | students.append(tmp) |
此外,您的