def __init__(self, name, grade, age): self.name = name self.grade = grade self.age = age def __repr__(self): return repr((self.name, self.grade, self.age)) student_objects = [ Student('john', 'A', 15), Student('jane', 'B', 12), Student('dave', 'B', 10), ] student_objects.sort(key=lambda x:x.age,reverse=False) for i in student_objects: print(i) 输出结果
时间: 2023-12-24 15:03:59 浏览: 130
The-basic-structure-of-class.zip_The Class
输出结果应该是:
```python
('dave', 'B', 10)
('jane', 'B', 12)
('john', 'A', 15)
```
解释:首先定义了一个`Student`类,其中有一个`__init__`方法和一个`__repr__`方法。在`__init__`方法中,定义了三个实例属性`name`、`grade`和`age`并分别赋值为传入的参数值。在`__repr__`方法中,返回一个元组,元组中的元素分别是实例属性`name`、`grade`和`age`的值。
然后创建了一个`student_objects`列表,其中存放了三个`Student`类的实例。接着调用`sort()`方法对`student_objects`列表进行排序,排序的依据是实例的`age`属性,且按照升序排列。最后通过`for`循环遍历`student_objects`列表中的每个实例,并打印其字符串表示,即调用实例的`__repr__`方法。因为`student_objects`列表已经按照`age`属性升序排列,所以输出结果为:`('dave', 'B', 10)`、`('jane', 'B', 12)`、`('john', 'A', 15)`。
阅读全文