1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的⽅方式获取、修改、添加和删除它的属性
b.通过attr相关⽅方法去获取、修改、添加和删除它的属性
class computer:
def __init__(self, brand, color, ram, size):
self.brand = brand
self.color = color
self.ram = ram
def game(self):
print('打游戏')
def code(self):
print('写代码')
def mov(self):
print('看电影')
com1 = computer('dell','red','8g','15')
print(com1.brand)
print(com1.color)
print(com1.ram)
print(com1.size)
print(getattr(com1,'ram'))
# 修改
com1.brand = 'lenovo'
print(setattr(com1,'brand'))
com1.ram='16g'
#添加
print(setattr(com1,'cpu'))
print(com1.cpu)
del com1.ram#删除
print(delattr(com1,'ram'))
2.声明⼀个人的类和狗的类:
狗的属性:名字、颜⾊色、年年龄
狗的⽅方法:叫唤
人的属性:名字、年年龄、狗
人的⽅方法:遛狗
class dog:
def __init__(self,name,color,age):
self.name=name
self.color=color
self.age=age
def dog1(self):
print('交换')
class human:
def __init__(self,name,age):
self.name=name
self.age=age
self.dog=None
def play(self):
if self.dog:
print('%s在牵着%s玩'%(self.name,self.dog.name))
else:
print('没有狗')
a.创建⼈人的对象⼩小明,让他拥有⼀一条狗⼤大⻩黄,然后让⼩小明去遛⼤大⻩黄
class human2:
def __int__(self,name='小明',age=18):
self.name='小明'
self.age=18
p1=person.小明
pi1.dog=dog('大黄',‘黄色’,3)
def liu(self):
print('遛大黄')
class dog:
def __int__(self,name,age):
self.name=name
self.age=age
def dog2(self,name='大黄'):
print('被遛')
3.声明⼀一个圆类:
class circle:
def __int__(self,r,pi):
self.r=r
self.pi=pi
4.创建⼀一个学⽣生类:
属性:姓名,年龄,学号
方法:答到,展示学⽣生信息
创建⼀一个班级类:
属性:学⽣生,班级名
方法:添加学⽣生,删除学生,点名, 求班上学生的平均年龄
from random import randint
class Student(object):
def __init__(self, name, age=0, study_id=''):
self.name = name
self.age = age
self.study_id = study_id
# 是否在上课
self.is_in_class = bool(randint(0, 1))
def reply(self):
print('%s,到!' % self.name)
def show_info(self):
print('名字:%s,年龄:%d,学号:%s' % (self.name, self.age, self.study_id))
class Class(object):
def __init__(self, name: str):
self.name = name
self.students = []
self.__creat_id = (self.name+str(x).rjust(3, '0') for x in range(1, 101))
def add_student(self):
# 输入信息
name = input('姓名:')
age = int(input('年龄:'))
study_id = next(self.__creat_id)
# 创建学生对象
stu1 = Student(name, age, study_id)
self.students.append(stu1)
def del_student(self):
"""按姓名删除学生"""
is_exist = False
del_name = input('请输入要删除的学生的名字:')
for stu in self.students[:]:
if del_name == stu.name:
# 有这个学生
is_exist = True
stu.show_info()
is_del = input('是否删除(Y/N)?:')
if is_del == 'Y':
self.students.remove(stu)
print('删除成功')
if not is_exist:
print('这个学生不存在!!!')
def naming(self):
"""点名"""
for stu in self.students:
print(stu.name)
if stu.is_in_class:
stu.reply()
def average_age(self):
""" 平均年龄 """
sum1 = 0
for stu in self.students:
sum1 += stu.age
return sum1 / len(self.students)
def show_student_info(self):
"""显示所有学生信息"""
for stu in self.students:
stu.show_info()
# 创建班级对象
class1 = Class('py1808')
# 添加5个学生
for _ in range(3):
class1.add_student()
# 显示班级所有学生的信息
class1.show_student_info()
# 删除学生
class1.del_student()
# 显示班级所有学生的信息
class1.show_student_info()
#
# 添加1个学生
class1.add_student()
# 显示班级所有学生的信息
class1.show_student_info()
print('平均年龄:%.2f' % class1.average_age())