1.声明一个电脑类: 属性:品牌、颜色、内存 方法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性
b.通过attr相关方法法去获取、修改、添加和删除它的属性
class Computer:
def __init__(self):
self.brand = ''
self.color = ''
self.memory = ''
def play_game(self):
print('打游戏')
def write_code(self):
print('写代码')
def watch_videos(self):
print('看视频')
if __name__=='__main__':
c = Computer()
c.brand = 'Dell'
c.color = 'white'
c.memory = '4GB'
print(c.brand,c.color,c.memory)
del c.memory
try:
c.price = '4300¥'
c.color = 'gray'
print(c.brand,c.color,c.memory)
except:
print('没有那个属性')
print(c.brand,c.color,c.price)
#修改
setattr(c,'brand','lenovo')
print(getattr(c,'brand'))
c.__setattr__('color','blue')
print(c.__getattribute__('color'))
#添加
setattr(c,'time','2018.04')
print(getattr(c,'time'))
#删除
delattr(c,'brand')
try:
print(c.brand)
except:
print('品牌已被删除')
c.__delattr__('time')
try:
print(c.time)
except:
print('生产日期已经被删除')
'''
结果:
Dell white 4GB
没有那个属性
Dell gray 4300¥
lenovo
blue
2018.04
品牌已被删除
生产日期已经被删除
'''
2.声明一个人的类和狗的类:
狗的属性:名字、颜色、 年龄 狗的方法:叫唤
人的属性:名字、年龄、狗 人的方法:遛狗 a.创建人的对象小明,让他拥有一条狗大黄,然后让小明去遛狗
class Dog:
def __init__(self,name,color,age):
self.name=name
self.color=color
self.age=age
def bark(self):
print('%s在汪汪叫'%self.name)
class Person:
def __init__(self,name,age,dog):
self.name = name
self.age = age
self.dog = dog
def walk_a_dog(self):
if not self.dog:
print(‘没有狗’)
else:
print('%s在遛%s'%(self.name,self.dog.name))
if __name__=='__main__':
d1 = Dog('大黄','黄色','3岁')
p1 = Person('小明','20岁',d1)
p1.walk_a_dog()
'''
结果:
小明在遛大黄
'''
3.声明一个矩形类:
属性: 长、宽 方法:计算周长和面积 a.创建不同的矩形,并且打印其周长和面积
class Rect:
def __init__(self,length,width):
self.length=length
self.width=width
def perimeter(self):
return (self.length+self.width)*2
def area(self):
return self.length*self.width
if __name__=='__main__':
r1 = Rect(10,20)
print('周长:%d'%r1.perimeter())
print('面积:%d'%r1.area())
r2 = Rect(5,5)
print('周长:%d'%r2.perimeter())
print('面积:%d'%r2.area())
'''
结果:
周长:60
面积:200
周长:20
面积:25
'''
4.创建一个学生类:
属性:姓名,年龄,学号 方法:答到,展示学生信息 创建一个班级类: 属性:学生,班级名 方法:添加学生 ,删除学生,点名
class Student:
def __init__(self,name,age,stuid):
self.name=name
self.age=age
self.stuid=stuid
def answer_to(self):
print('%s到了'%self.name)
def print_info(self):
print('我的名字是%s,年龄是%s,学号是%s,'%(self.name,self.age,self.stuid))
class Class:
def __init__(self,classname):
self.student_list=[]
self.classname=classname
def add_student(self,student):
self.student_list.append(student)
def del_student(self,student):
if self.student_list:
self.student_list.remove(student)
def naming(self):
if self.student_list:
for student in self.student_list:
print(student.name)
student.answer_to()
if __name__ == "__main__":
s1 = Student("张三",'20','001')
s2 = Student("李四",'22','002')
s3 = Student("王五",'21','003')
s4 = Student("张流",'23','004')
s5 = Student("李思",'19','005')
c1 = Class('1班')
c1.student_list=[s1,s2,s3,s4,s5]
print('------------------------------------')
c1.naming()
c1.add_student(Student('赵六','18','006'))
print('------------------------------------')
c1.naming()
c1.del_student(s1)
print('------------------------------------')
c1.naming()
'''
结果:
------------------------------------
张三
张三到了
李四
李四到了
王五
王五到了
张流
张流到了
李思
李思到了
------------------------------------
张三
张三到了
李四
李四到了
王五
王五到了
张流
张流到了
李思
李思到了
赵六
赵六到了
------------------------------------
李四
李四到了
王五
王五到了
张流
张流到了
李思
李思到了
赵六
赵六到了
'''