1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的⽅方式获取、修改、添加和删除它的属性
b.通过attr相关⽅方法去获取、修改、添加和删除它的属性
程序:
class Conputer:
"""电脑类"""
def __init__(self, brand, color, ram):
self.brand = brand
self.color = color
self.ram = ram
def play_game(self):
print('玩游戏')
def write_code(self):
print('写代码')
def watch_video(self):
print('看视视频')
cp1 = Conputer('华硕', '宝石蓝', '4g')
# a
# 获取
print(cp1.brand) # 华硕
# 修改
cp1.brand = 'apple'
print(cp1.brand) # apple
# 添加
cp1.price = 2000
print(cp1.price) # 2000
# 删除
del cp1.price
# print(cp1.price)
# AttributeError: 'Conputer' object has no attribute 'price'
print('='*88)
# b
# 获取
print(getattr(cp1, 'brand')) # apple
# 修改
setattr(cp1, 'brand', '华硕')
print(cp1.brand) # 华硕
# 添加
setattr(cp1, 'price', 3000)
print(getattr(cp1, 'price')) # 3000
# 删除
delattr(cp1, 'price')
print(cp1.__dict__) # {'brand': '华硕', 'color': '宝石蓝', 'ram': '4g'}
2.声明⼀个人的类和狗的类:
狗的属性:名字、颜色、年龄
狗的方法:叫唤
人的属性:名字、年龄、狗
人的⽅方法:遛狗
a.创建⼈人的对象⼩小明,让他拥有⼀一条狗大黄,然后让小明去遛⼤黄
class Person:
def __init__(self, name, age, dog):
self.name = name
self.age = age
self.dog = dog
def walk_the_dog(self):
print('%s在遛他的狗:%s' % (self.name, self.dog))
class Dog:
def __init__(self, name, color, age):
self.name = name
self.age = age
self.color = color
def shout(self):
print('%s:汪汪汪' % self.name)
p1 = Person('小明', 8, '大黄')
p1.walk_the_dog()

3.声明⼀一个圆类:
class Circle:
"""一个圆类,包含求面积和周长的方法"""
pi = 3.141592653589793
def __init__(self, radius):
self.radius = radius
def area(self):
return Circle.pi*self.radius**2
def per(self):
return 2*Circle.pi*self.radius
c1 = Circle(3)
print('面积为:%.2f' % c1.area()) # 面积为:28.27
print('周长为:%.2f' % c1.per()) # 周长为:18.85
4.创建⼀一个学⽣生类:
属性:姓名,年龄,学号
方法:答到,展示学⽣生信息
创建⼀一个班级类:
属性:学⽣生,班级名
方法:添加学⽣生,删除学生,点名, 求班上学生的平均年龄
class Student:
"""学生类"""
def __init__(self, name, age, stu_id):
self.name = name
self.age = age
self.stu_id = stu_id
def show_stu(self):
# print('$$$$$$$$$$$$', len(self.__dict__))
for key in self.__dict__:
print(key + ':' + self.__dict__[key], end=' ')
class Class:
"""班级类"""
def __init__(self, class_name):
self.stu = []
self.class_name = class_name
def add_stu(self):
stu_name = input('请输入要添加学生的姓名:')
stu_age = input('请输入要添加学生的年龄:')
stu_id = input('请输入要添加学生的学号:')
# self.stu.append(Student(stu_name, stu_age, stu_id).__dict__)
self.stu.append(Student(stu_name, stu_age, stu_id))
print('添加成功')
def del_stu(self, name: str):
print('----', self.stu)
index = i = 0
# for index in range(len(self.stu)-i):
while index < len(self.stu)-i:
# print('7777', self.stu[index].name)
if name == self.stu[index].name:
self.stu.pop(index)
print('删除成功')
i += 1
break
else:
print('查无此人,删除失败!')
return None
def cal_stu(self, name):
for index in range(len(self.stu)):
if name == self.stu[index].name:
self.stu[index].show_stu()
break
else:
print('查无此人,点名失败!')
return None
def aver_stu_age(self):
sum1 = 0
for index in range(len(self.stu)):
sum1 += int(self.stu[index].age)
return sum1/len(self.stu)
def show_all(self):
for index in range(len(self.stu)):
self.stu[index].show_stu()
print()
c1 = Class('火箭')
while 1:
print('1.添加学⽣生\n2.删除学生\n3.点名\n4.求班上学生的平均年龄')
choice = input()
if choice == '1':
c1.add_stu()
continue
elif choice == '2':
del_name = input('请输入要删除学生的姓名:')
c1.del_stu(del_name)
continue
elif choice == '3':
cal_name = input('请输入要点学生的姓名:')
c1.cal_stu(cal_name)
break
elif choice == '4':
aver_age = c1.aver_stu_age()
print(aver_age)
continue
网友评论