1.申明一个电脑类:
属性:品牌、颜色、内存大小
方法:打游戏、写代码、看视频
a.创建电脑的对象,然后通过对象的方式,获取,修改,添加和删除的他的属性
b.通过attr相关方法获取、修改、添加、删除它的属性
class Computer:
def __init__(self,brand,color,memory):
self.brand=brand
self.color=color
self.memory=memory
print(self.brand,self.color,self.memory)
@classmethod
def play_game(cls):
print('打游戏')
@classmethod
def code(cls):
print('写代码')
@staticmethod
def movie():
print('看视频')
Computer.play_game()
Computer.code()
Computer.movie()
computer1=Computer('Lenovo',"black",'520G') #创建对象
#通过对象的方式
print("computer1的品牌是%s"%(computer1.brand)) #查看属性
computer1.color='white' #修改属性
computer1.size=(1020,800) #增加属性
del computer1.memory #删除属性
#通过attr方式
print(getattr(computer1,'brand','Lenovo'))
computer1.__setattr__('color','gray') #修改属性
print(computer1.color)
computer1.__setattr__('memory2',"512G") #添加属性
print(computer1.memory2)
computer1.__delattr__('size') #删除属性
-------------------------------------------------------
2申明一个人的类和一个狗的类:
狗的属性:名字、颜色、年龄,狗的方法:叫换
人的属性:名字、年龄、狗 ,人的方法:遛狗
a.创建人的对象小明,让他拥有一条狗大黄,然后让小明去遛大黄
class Person:
def __init__(self,name1,age1,dog1):
self.name1=name1
self.age1=age1
self.dog1=dog1
def walk_dog(self):
print('遛%s'%(dog_1))
class Dog:
def __init__(self,name2,color2,age2):
self.name2=name2
self.color2=color2
self.age2=age2
def shout(self):
return '叫唤'
dog_1=Dog('大黄','黑','3 years')
person_1=Person('小明',18,dog_1)
print('%s有一只%s的%s狗,它的名字叫%s'%(person_1.name1,dog_1.age2,dog_1.color2,dog_1.name2))
person_1.walk_dog()
--------------------------------------------------------
3.申明一个矩形类:
属性:长,宽 方法:计算周长和面积
a.创建不同的矩形,并打印其周长和面积
class Rectangle:
def __init__(self,longth,width):
self.longth=longth
self.width=width
def premiter(self):
return 2*(self.longth+self.width)
def aera(self):
return self.width*self.longth
rec1=Rectangle(40,70)
print('rec1的周长是%.2f,面积是%.4f'%(rec1.premiter(),rec1.aera()))
rec2=Rectangle(30,60)
print('rec2的周长是%.2f,面积是%.4f'%(rec2.premiter(),rec2.aera()))
rec3=Rectangle(25,40)
print('rec3的周长是%.2f,面积是%.4f'%(rec3.premiter(),rec3.aera()))
------------------------------------------------------------
4.创建一个学生类:属性:姓名,年龄,学号 方法:答到,展示学生信息,
创建一个班级类, 属性:学生,班级名 方法:添加学生,删除学生,点名
class Student:
def __init__(self,name,age,id):
self.name=name
self.age=age
self.id=id
def answer(self,call): #call=class1.call() #答到和展示学生信息
if self.name==call: #点名时,学生判断是否点到自己,
print("到",'\n',self.name,self.age,self.id) #展示学生信息
return 1
else:
print('此学生没到')
return 0
class Class:
def __init__(self,class_name,students=[]):
self.class_name=class_name
self.students=students
def call(self,i): # i 所有学生的下标 ------点名
return self.students[i][name]
def append(self): #------------------------添加学生
name=input('请输入姓名')
age=input('请输入年龄')
id=input('请输入学号')
stu1=Student(name,age,id)
cur_stu={'name':stu1.name,'age':stu1.age,'id':stu1.id}
self.students.append(cur_stu)
print('添加成功')
def delete(self): #----------------删除学生
name = input('请输入姓名')
id = input('请输入学号')
for i in range(0,len(self.student)):
if self.students[i]['name']==name and self.students[i]['id']=id:
del self.students[i]
print('删除成功')