1. 声明一个电脑类
属性:品牌、颜色、内存大小
方法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性
b.通过attr相关方法去获取、修改、添加和删除它的属性
代码如下
class Computer:
def __init__(self, brand, color, memory):
self.brand = brand
self.color = color
self.memory = memory
def play_game(self):
print('打游戏')
def play_code(self):
print('写代码')
def look_video(self):
print('看视频')
# a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性
computer = Computer('华硕', '纯黑', '500G')
# 获取
print(computer.brand)
print(computer.color)
# 修改
computer.brand = '联想'
print(computer.brand)
# 添加
computer.place = 64
print(computer.place)
# 删除
del computer.place
print('=================')
# b.通过attr相关方法去获取、修改、添加和删除它的属性
# 获取
print(getattr(computer, 'brand'))
print(getattr(computer, 'color'))
# 修改
setattr(computer, 'color', '白金')
print(getattr(computer, 'color'))
# 添加
setattr(computer, 'place', 64)
print(getattr(computer, 'place'))
# 删除
delattr(computer, 'place')
运行如下
华硕
纯黑
联想
64
=================
联想
纯黑
白金
64
2.声明一个人的类和狗的类:
狗的属性:名字、颜色、年龄
狗的方法:叫唤
人的属性:名字、 年龄、狗
人的方法:遛狗
a.创建人的对象名字叫小明,让他拥有一条狗 ,然后让小明去遛狗
代码如下
class Dog:
def __init__(self, name, color, age):
self.name = name
self.color = color
self.age = age
def bark(self):
print('汪汪!!!')
class Person:
def __init__(self, name, age, dog=None):
self.name = name
self.age = age
self.dog = dog
def walk_dog(self):
if self.dog:
print(self.name + '在遛狗' + dog.name)
dog.bark()
else:
print('没有狗')
# a.创建人的对象名字叫小明,让他拥有一条狗,然后让小明去遛狗
dog = Dog('旺财', '灰色', 12)
person = Person('小明', 18, dog)
person.walk_dog()
运行如下
小明在遛狗旺财
汪汪!!!
3.声明一个矩形类:
属性: 长、宽
方法:计算周长和面积
a.创建不同的矩形,并且打印其周长和面积
代码如下
class girthArea:
def __init__(self, long=0, wide=0):
self.long = long
self.wide = wide
def girth_area(self):
self.girth = 0
self.area = 0
self.girth = (self.long + self.wide) * 2
self.area = self.long * self.wide
print('其矩形周长为:', self.girth)
print('其矩形面积为:', self.area)
return self.girth, self.area
girt_area = girthArea(4, 3)
girt_area.girth_area()
运行如下
其矩形周长为: 14
其矩形面积为: 12
4.创建一个学生类:
属性:姓名,年龄,学号,成绩
方法:答到,展示学生信息
创建一个班级类: 属性:学生,班级名
方法:添加学生,删除学生,点名, 获取班级中所有学生的平均值, 获取班级中成绩最好的学生
代码如下
class Student:
def __init__(self, name='', age=0, score=0, study_id=''):
self.name = name
self.age = age
self.study_id = study_id
self.score = score
def replied(self):
print('%s,到!' % self.name)
def show_message(self):
print(self.__dict__)
import random
class Class:
# 类字段
creat_id = ('python'+str(x).rjust(3, '0') for x in range(1, 101))
def __init__(self, name):
self.students = []
self.name = name
# 添加学生
def add_student(self):
# 输入学生信息
name = input('姓名:')
age = int(input('年龄:'))
id = next(Class.creat_id)
score = random.randint(0, 100)
# 创建学生对象
stu = Student(name, age, score, id)
self.students.append(stu)
print('添加成功:')
stu.show_message()
# 删除学生
def del_student(self):
del_name = input('姓名:')
count = len(self.students) # 删除前学生的个数
for stu in self.students.copy():
if stu.name == del_name:
self.students.remove(stu)
if count == len(self.students):
print('没有该学生!')
def call(self):
for stu in self.students:
print(stu.name)
# 学生答到
stu.replied()
def average_score(self):
scores = 0
for stu in self.students:
scores += stu.score
return scores/len(self.students)
def most_excellent_student(self):
return max(self.students, key=lambda stu: stu.score)
class1 = Class('python1807')
for _ in range(5):
class1.add_student()