-
1.声明一个电脑类:
属性:品牌、颜色、内存大小
方法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性
b.通过attr相关方法去获取、修改、添加和删除它的属性
class Computer:
def __init__(self,brand='', color='', storage=''):
self.brand = brand
self.color = color
self.storage = storage
def play_game(self):
print('正在使用'+self.brand+'电脑打游戏')
def write_code(self):
print('正在使用' + self.brand + '电脑写代码')
def watch_movie(self):
print('正在使用' + self.brand + '电脑看电影')
if __name__ == '__main__':
pc1 = Computer('arce', '白色', '16G')
print(pc1.brand,pc1.storage,pc1.color)
pc1.storage = '8G'
pc1.kind = '商务笔记本'
print(pc1.brand, pc1.storage, pc1.color, pc1.kind)
del pc1.kind
print(pc1.brand, pc1.storage, pc1.color)
pc2 = Computer('hp', '黑色', '8G')
print(getattr(pc2, 'brand'),getattr(pc2,'storage'),getattr(pc2,'color'))
setattr(pc2, 'storage', '16G')
print(getattr(pc2, 'brand'),getattr(pc2,'storage'),getattr(pc2,'color'))
setattr(pc2,'kind', '游戏本')
print(getattr(pc2, 'brand'), getattr(pc2, 'storage'), getattr(pc2, 'color'),getattr(pc2,'kind'))
delattr(pc2, 'kind')
print(getattr(pc2, 'brand'), getattr(pc2, 'storage'), getattr(pc2, 'color'),getattr(pc2,'kind','种类不存在'))
pc2.play_game()
pc2.watch_movie()
pc2.write_code()
输出结果:
arce 16G 白色
arce 8G 白色 商务笔记本
arce 8G 白色
hp 8G 黑色
hp 16G 黑色
hp 16G 黑色 游戏本
hp 16G 黑色 种类不存在
正在使用hp电脑打游戏
正在使用hp电脑看电影
正在使用hp电脑写代码
-
2.声明一个人的类和狗的类:
狗的属性:名字、颜色、年龄 狗的方法:叫唤
人的属性:名字、年龄、狗 人的方法:遛狗
a.创建人的对象小明,让他拥有一条狗大黄,然后让小明去遛大黄
class Dog:
def __init__(self, name='', color='', age=0):
self.name = name
self.color = color
self.age = age
def yell(self):
print(self.name+"正在大叫")
class Person:
def __init__(self, name='', age=''):
self.name = name
self.age = age
self.dog = None
def walk_dog(self):
self.dog = Dog('大黄','黄色',3)
print(self.name+'正在遛'+self.dog.name)
if __name__ == '__main__':
pass
p1 = Person('小明','21')
p1.walk_dog()
输出结果:
小明正在遛大黄
-
3.声明一个矩形类:
属性:长、宽 方法:计算周长和面积
a.创建不同的矩形,并且打印其周长和面积
class Rect:
def __init__(self, width=0, height=0):
self.width = width
self.height = height
def perimeter_area(self):
area = self.width*self.height
perimeter = (self.width+self.height)*2
print('周长:%.2f 面积:%.2f' % (perimeter,area))
if __name__ == '__main__':
pass
r1 = Rect(2,3)
r2 = Rect(3,5)
r3 = Rect(2,5)
r1.perimeter_area()
r2.perimeter_area()
r3.perimeter_area()
输出结果:
周长:10.00 面积:6.00
周长:16.00 面积:15.00
周长:14.00 面积:10.00
-
4.创建一个学生类:
属性:姓名,年龄,学号 方法:答到,展示学生信息
创建一个班级类:
属性:学生,班级名 方法:添加学生,删除学生,点名
from random import randint
class Student:
"""学生类"""
def __init__(self, name='', age=0):
self.name = name
self.age = age
self.study_id = 'py1805'+str(randint(0, 50))
def answer(self):
print('%s,到!' % self.name)
def show(self):
print('姓名:%s 年龄:%d 学号:%s' % (self.name, self.age, self.study_id))
class Class:
"""班级类"""
def __init__(self, name=''):
self.name = name
self.students = []
def append_student(self, student=None):
"""添加学生"""
self.students.append(student)
def del_student(self, name):
"""删除学生"""
for student in self.students[:]:
if student.name == name:
self.students.remove(student)
def call_names(self):
"""点名"""
for student in self.students:
# 点名
print(student.name)
# 答到
student.answer()
输出结果:
张三
张三,到!
aa
aa,到!
bb
bb,到!
网友评论