【发布时间】:2023-01-08 20:46:11
【问题描述】:
我正在学习 python 中的类和对象。当我试图创建一个可以使用该类的实例更改其值的类属性时,我遇到了一个问题。 让我们假设为上同一所学校的学生创建一个班级 Student:
class Students:
school = "Elimu"
def __init__(self, name = "", class= 1):
self.name = name
self.class = class
student_1 = Students("Imara", 5)
student_2 = Students("Jabali", 7)
我希望能够使用类名和使用类的实例来更改类属性,即 class_name.class_attribute = new_value class_instance.class_attribute = new_value
为了进一步说明(在前面的代码之后):
Student.school
Student.school = "Ganjoni"
Student.school
student_1.school = "Vikwale"
Student.school
student1.school
student2.school
输出:
以利木
Ganjoni
维夸莱
维夸莱
维夸莱
【问题讨论】:
-
self.class = class应该抛出语法错误。不是吗? -
请在示例中发布一些工作代码。您混合了很多班级名称和变量:Students 与 Student、student_1 与 student1。另外
class是 python 中的关键字,所以你的def __init__(self, name = "", class= 1):将不起作用。 -
student_1.school = "Vikwale"更改实例变量而不是类变量
标签: python python-3.x python-class class-attributes