目录
- 面向对象练习
-
- 1. 创建一个类people
- 2. 类的继承
- 3. 创建一个mylist类,继承自内置数据
- 4. 学生成绩排序(类与对象练习)
- 5. 两数求和问题
- 6. "精致"的数
- 7. 最大的周长
面向对象练习
1. 创建一个类people
包含属性name,city
可以转换为字符串形式(str)
包含方法moveto(self,newcity)
可以按照city排序
创建4个人对象,放到列表进行排序
class People:
def __init__(self,name,city): # self表示实例,因为还没输入暂代
self.name = name
self.city = city
def __str__(self):
s = "%s 来自 %s" % (self.name, self.city)
return s
__repr__ = __str__ # 因为如果一个对象没有 str 函数,而 Python 又需要调用它的时候,解释器会用 repr 作为替代,在这里,str输出的会更明了
def moveto (self, newcity):
self.city = newcity
def __lt__(self, other):
return self.city < other.city
a = People('赵子龙','changshan')
b = People('张飞','zhuozhou')
c = People('孙悟空','huaguoshan')
d = People('猪八戒','gaolaozhuang')
print(a,b)
a.moveto('bashu')
print(a)
l = [a,b,c,d]
print(sorted(l)) # sort的两种写法
l.sort(reverse = True)
print(l)
2. 类的继承
创建一个类Teacher,是People的子类,
新增属性school
moveto方法改为newschool,按照school排序。
创建4个教师对象,放到列表进行排序。
class Teacher(<