自定义people类,要求如下: 1.有两个属性:姓名(name)和年龄(age) 2.有1个自定义方法,方法名为:Intro,作用是打印“name is age old.” 3.(以自己的名字和年龄)实例化一个对象,并调用自定的Intro方法。
时间: 2024-03-14 09:45:37 浏览: 128
好的,请看以下代码实现:
```python
class People:
def __init__(self, name, age):
self.name = name
self.age = age
def Intro(self):
print(self.name + " is " + str(self.age) + " old.")
# 实例化一个对象
person = People("你的名字", 20)
# 调用自定义的Intro方法
person.Intro()
```
请将代码中的"你的名字"修改为你自己的名字,然后运行代码就可以得到输出结果,例如: "你的名字 is 20 old."
相关问题
自定义类实现comparator
要自定义一个 `Comparator`,需要实现它的 `compare` 方法。该方法接收两个参数,分别代表要比较的两个对象,方法返回一个整数值,表示两个对象的大小关系。
例如,假设有一个 `Person` 类,包含 `name` 和 `age` 两个属性,我们要按照年龄从小到大排序,可以这样实现一个 `Comparator`:
```java
class AgeComparator implements Comparator<Person> {
@Override
public int compare(Person p1, Person p2) {
return p1.getAge() - p2.getAge();
}
}
```
在 `compare` 方法中,我们比较两个 `Person` 对象的年龄大小,返回值为正数表示第一个对象的年龄大于第二个对象,返回值为负数表示第一个对象的年龄小于第二个对象,返回值为 0 表示两个对象的年龄相等。
使用时,可以将该 `Comparator` 对象传递给 `Collections.sort` 方法进行排序:
```java
List<Person> people = new ArrayList<>();
// 添加若干 Person 对象到 people 列表中
Collections.sort(people, new AgeComparator());
```
这样就可以按照年龄从小到大排序了。
python 自定义 class 类的排序
可以通过在类中定义 __lt__ 方法来实现自定义排序。例如,可以定义一个 Person 类,其中包含 name 和 age 两个属性,然后通过比较 age 属性来进行排序:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __lt__(self, other):
return self.age < other.age
```
然后可以创建一个 Person 对象列表,使用 sorted 函数进行排序:
```
people = [Person('Alice', 25), Person('Bob', 30), Person('Charlie', 20)]
sorted_people = sorted(people)
for person in sorted_people:
print(person.name, person.age)
```
输出结果为:
```
Charlie 20
Alice 25
Bob 30
```
阅读全文