1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频
class Computer:
def __init__(self,type,color,memory):
self.type=type
self.color=color
self.memory=memory
def __repr__(self):
return str(self.__dict__)
@classmethod
def play_game(cls):
return '打游戏'
@classmethod
def write_code(self):
return '写代码'
@classmethod
def watch_move(cls):
return '看小电影'
computer1=Computer('三星','绿色','8g+4T')
# 获取对象属性
print(computer1.type,computer1.color,computer1.memory)
# 修改对象属性
computer1.type='华为' # 三星 绿色 8g+4T
print(computer1) # {'type': '华为', 'color': '绿色', 'memory': '8g+4T'}
# 添加属性
computer1.weight='2.5kg'
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T', 'weight': '2.5kg'}
# 删除属性
del computer1.weight
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T'}
a.创建电脑类的对象,然后通过对象点的⽅方式获取、修改、添加和删除它的属性
computer1=Computer('三星','绿色','8g+4T')
# 获取对象属性
print(computer1.type,computer1.color,computer1.memory)
# 修改对象属性
computer1.type='华为' # 三星 绿色 8g+4T
print(computer1) # {'type': '华为', 'color': '绿色', 'memory': '8g+4T'}
# 添加属性
computer1.weight='2.5kg'
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T', 'weight': '2.5kg'}
# 删除属性
del computer1.weight
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T'}
b.通过attr相关⽅方法去获取、修改、添加和删除它的属性
# 获取属性
print(getattr(compu2,'type',None),getattr(compu2,'color',None),getattr(compu2,'memory',None))
#华硕 红色 4g+1t
# 修改/增加
setattr(compu2,'type','apple')
setattr(compu2,'weight','2kg')
print(compu2) #{'type': 'apple', 'color': '红色', 'memory': '4g+1t', 'weight': '2kg'}
#删除属性
delattr(compu2,'weight')
print(compu2) #{'type': 'apple', 'color': '红色', 'memory': '4g+1t'}
2.声明⼀个人的类和狗的类:
狗的属性:名字、颜⾊色、年年龄
狗的⽅方法:叫唤
人的属性:名字、年年龄、狗
人的⽅方法:遛狗
a.创建⼈人的对象⼩小明,让他拥有⼀一条狗⼤大⻩黄,然后让⼩小明去遛⼤大⻩黄
class Dog:
def __init__(self,name,color,age):
self.name=name
self.color=color
self.age=age
def bark(self):
return '汪汪'
dog1=Dog('大黄','黄色','1')
print(dog1.bark())
class Person:
def __init__(self,name,age,pet):
self.name=name
self.age=age
self.pet=pet
def walk_the_dog(self):
return '%s在公园里遛%s'%(p1.name,dog1.name)
p1=Person('小明',18,dog1.name)
print(p1.walk_the_dog())
3.声明⼀一个圆类:
class Circle:
π=3.14
def __init__(self,radii):
self.radii=radii
def peri(self):
return 2*Circle.π*self.radii
def area(self):
return Circle.π*self.radii**2
circle1=Circle(5)
print(circle1.peri(),circle1.area())
4.创建⼀一个学⽣生类:
属性:姓名,年龄,学号
方法:答到,展示学⽣生信息
创建⼀一个班级类:
属性:学⽣,班级名
方法:添加学⽣生,删除学生,点名, 求班上学生的平均年龄
def buider():
num = 0
while True:
yield 'stu'+str(num).zfill(4)
num+=1
gen1=buider()
class Stu:
def __init__(self,name,age,id):
self.name=name
self.age=age
self.id=id
self.in_classrom = bool(random.randint(0, 1))
def response(self):
print('%s,到'%self.name)
def show_stu_info(self):
print("姓名:%s,年龄:%d,学号%s"%(self.name,self.age,self.id))
stu1=Stu('小明',19,next(gen1))
stu1.response()
stu1.show_stu_info()
def builler1():
num1 = 0
while True:
yield 'python1809'+str(num1).zfill(3)
num1 += 1
gen2=builler1()
class Class:
def __init__(self):
self.all_stu=[]
self.class_name='1809班'
def add_stu(self):
while True:
stu_name=input('输入名字')
stu_age=input('输入年龄')
stu_id=next(gen2)
stu = {'name':stu_name,'age':stu_age,'id':stu_id}
self.all_stu.append(stu)
input_value=input('1.继续添加\n2.退出')
if input_value=='2':
return
def del_stu(self):
while True:
num=input('1.按学号删除\n2.按名字删除\n3.退出')
if num=='1':
input_value=input('输入学号:')
for item in self.all_stu[:]:
if item['id']==input_value:
self.all_stu.remove(item)
print('删除成功')
elif num == '2':
input_value = input('输入名字:')
for item in self.all_stu[:]:
if item['name'] == input_value:
self.all_stu.remove(item)
print('删除成功')
else:
return
def call_the_roll(self,name):
for item in self.all_stu[:]:
if item['name']=='name':
print('%s,到!'%name)
def average_age(self):
num = 0
for item in self.all_stu:
num+=item['age']
return len(num/len(self.all_stu))