面向对象作业1:
1.声明一个电脑类:
属性:品牌、颜色、内存大小
方法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性
b.通过attr相关方法去获取、修改、添加和删除它的属性
class Pc:
def __init__(self, brand, color, size):
"""电脑属性:品牌、颜色、内存大小"""
self.brand = brand
self.color = color
self.size = size
# 方法 打游戏
def play_game(self):
print('%s电脑被用来打游戏' % self.brand)
# 方法 写代码
def write_code(self):
print('%s电脑被用来写代码' % self.brand)
# 方法 看视频
def watch_movies(self):
print('%s电脑被用来看电影' % self.brand)
if __name__ == '__main__':
computer = Pc('Asus', 'red', '16G')
print(computer.brand, computer.color, computer.size)
computer.color = 'blue'
print(computer.color)
del computer.brand
computer.price = '$1000'
print(computer.price)
computer.__setattr__('brand', 'acer')
print(computer.brand)
print(getattr(computer, 'color'))
"""delattr"""
"""__getattr__"""
"""__delattr__"""
"""setattr"""
Asus red 16G
blue
$1000
acer
blue
2.声明一个人的类和狗的类:
狗的属性:名字、颜色、年龄 狗的方法:叫唤
人的属性:名字、年龄、狗 人的方法:遛狗
a.创建人的对象小明,让他拥有一条狗大黄,然后让小明去遛大黄
class Dog:
def __init__(self, name='大黄', color='red', age=3):
self.name = name
self.color = color
self.age = age
def dog_way(self):
print('%s正在叫唤' % self.name)
class Person:
def __init__(self, name='小明', age=24, had_dog=[]):
self.name = name
self.age = age
self.had_dog = had_dog
def person_way(self, name, color, age):
had_dog = Dog(name, color, age)
print('%s拥有条狗,叫%s然后他要去遛狗了' % (self.name, had_dog.name))
if __name__ == '__main__':
man = Person('小明', 19)
man.person_way('小黄', 'blue', 4)
小明拥有条狗,叫小黄然后他要去遛狗了
3.声明一个矩形类:
属性:长、宽 方法:计算周长和面积
a.创建不同的矩形,并且打印其周长和面积
class Rect:
def __init__(self, length, width):
self.length = length
self.width = width
def sum_area(self,):
print(self.length * self.width)
def sum_perimeter(self):
print((self.length+self.width)*2)
生成长度和宽度
list1 = [x for x in range(10, 15)]
list2 = [y for y in range(20, 25)]
for i in list1:
for j in list2:
rect = Rect(i, j)
rect.sum_area()
rect.sum_perimeter()
4.创建一个学生类:
属性:姓名,年龄,学号 方法:答到,展示学生信息
创建一个班级类:
属性:学生,班级名 方法:添加学生,删除学生,点名
5.写一个类,封装所有和数学运算相关的功能(包含常用功能和常用值,例如:pi,e等)
6.1.写一个班级类,属性:班级名、学生;功能:添加学生、删除学生、根据姓名查看学生信息,展示班级的所有学生信息