1.声明⼀个电脑类:
属性:品牌、颜⾊、内存⼤⼩
⽅法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的⽅式获取、修改、添加和删除它的属性
b.通过attr相关⽅法去获取、修改、添加和删除它的属性
class Computer:
"""电脑类"""
def __init__(self, brand='asus', color= 'black', memory='4G'):
self.brand = brand
self.color = color
self.memory = memory
def play_game(self):
print('van游戏')
def watch_video(self):
print('看视频')
def __str__(self):
return 'brand:%s color:%s memory:%s' % (self.brand, self.color, self.memory)
if __name__ == '__main__':
laptop = Computer('asus', 'red_black', '8G')
setattr(laptop, 'brand', 'acer')
color = laptop.__getattribute__('color')
print(color)
# 添加cpu属性
laptop.cpu = 'i7_4720HQ'
print(laptop)
print('cpu:', laptop.cpu)
laptop.__delattr__('color')
# 检测color属性是否被删除
print(getattr(laptop, 'color', None))
结果:
red_black
brand:acer color:red_black memory:8G
cpu: i7_4720HQ
None
2.声明⼀个⼈的类和狗的类:
狗的属性:名字、颜⾊、年龄 狗的⽅法:叫唤
⼈的属性:名字、年龄、狗 ⼈的⽅法:遛狗
a.创建⼈的对象⼩明,让他拥有⼀条狗⼤⻩,然后让⼩明去遛⼤⻩
class Human:
"""人的类"""
def __init__(self, name='', age=0, dog=None):
self.name = name
self.age = age
self.dog = dog
def walk_a_dog(self, dog):
print('%s正在遛%s' % (self.name, dog.name))
class Dog:
"""狗的类"""
def __init__(self, name='', color='yellow', age=0):
self.name = name
self.color = color
self.age = age
def barking(self):
print('%s:啊汪!' % self.name)
if __name__ == '__main__':
dog = Dog('tom', 'blue', 2)
man = Human('jerry', 18, dog)
man.walk_a_dog(dog)
dog.barking()
结果:
jerry正在遛tom
tom:啊汪!
3.声明⼀个矩形类:
属性:⻓、宽 ⽅法:计算周⻓和⾯积
a.创建不同的矩形,并且打印其周⻓和⾯积
import random
class Rect:
"""矩形的类"""
def __init__(self, length=0, width=0):
self.length = length
self.width = width
def perimeter(self):
perimeter = (self.width + self.length) * 2
print('周长是:%d' % perimeter)
def slice(self):
slice = self.width * self.length
print('面积是:%d' % slice)
if __name__ == '__main__':
length = random.randint(1, 10)
width = random.randint(1, 10)
rect = Rect(length, width)
print('长:', length, '宽:', width)
rect.perimeter()
rect.slice()
结果:
长: 9 宽: 10
周长是:38
面积是:90
4.创建⼀个学⽣类:
属性:姓名,年龄,学号 ⽅法:答到,展示学⽣信息 创建⼀个班级类:
属性:学⽣,班级名 ⽅法:添加学⽣,删除学⽣,点名
class Class:
"""班级的类"""
def __init__(self, name='', students=[]):
self.name = name
self.students = students
def student_check(self, name):
print('老师:%s' % name)
for index in range(len(self.students)):
if name == self.students[index].name:
result = self.students[index].say_yes(name)
if result:
print('%s到了' % name)
return True
else:
print('······')
print('%s旷课!' % name)
return False
def add_student(self):
name = input('name:')
age = int(input('age:'))
id = input('id:')
# 根据输入的信息创建学生对象
stu = Student(name, age, id)
# 添加学生
self.students.append(stu)
def del_student(self, name):
for index in range(len(self.students)):
if name == self.students[index].name:
del self.students[index]
print('删除成功')
return
else:
print('查无此人')
return
class Student:
"""学生的类"""
def __init__(self, name='', age=0, id=''):
self.name = name
self.age = age
self.id = id
def say_yes(self, name):
if name == self.name:
print('%s:到' % name)
return True
else:
return False
def __str__(self):
return 'name:%s id:%s age:%d' % (self.name, self.id, self.age)
if __name__ == '__main__':
student = Student('张三', 20, '9526')
cls1 = Class('py1085')
cls1.add_student()
print(cls1.students[0])
cls1.student_check('张三')
cls1.student_check('李四')
结果:
name:李四
age:20
id:9527
name:李四 id:9527 age:20
老师:张三
······
张三旷课!
老师:李四
李四:到
李四到了
5.写⼀个类,封装所有和数学运算相关的功能(包含常⽤功能和常⽤值,例如:pi,e等)
class Arithmetic:
"""数学运算的类"""
@staticmethod
def sum(num1, num2):
return num1 + num2
@staticmethod
def subtraction(num1, num2):
return num1 - num2
@staticmethod
def multiplication(num1, num2):
return num1 * num2
@staticmethod
def division(num1, num2):
return num1/num2
if __name__ == '__main__':
func = Arithmetic()
print(func.sum(12, 20))
print(func.subtraction(20, 12))
print(func.multiplication(12, 20))
print(func.division(12, 20))
结果:
32
8
240
0.6
6.1.写⼀个班级类,属性:班级名、学⽣;功能:添加学⽣、删除学⽣、根据姓名查看学⽣信息,展示班级的所有学⽣信息
class Class:
"""班级类"""
def __init__(self, name=''):
self.class_name = name
self.students = []
def add_student(self):
while True:
name = input('name(input 0 to back):')
if name == '0':
return
sex = input('sex:')
age = int(input('age:'))
# 根据输入的信息创建学生对象
stu = Student(name, sex, age)
# 添加学生
self.students.append(stu)
def find_student(self, name):
for index in range(len(self.students)):
if name == self.students[index].name:
return self.students[index]
else:
print('查无此人')
return
def del_student(self, name):
for index in range(len(self.students)):
if name == self.students[index].name:
del self.students[index]
print('删除成功')
return
else:
print('查无此人')
return
class Student:
"""学生类"""
def __init__(self, name='', sex='', age=0):
self.name = name
self.sex = sex
self.age = age
def __str__(self):
return 'name:%s sex:%s age:%d' % (self.name, self.sex, self.age)
if __name__ == '__main__':
cls1 = Class('py1805')
while True:
print('''
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
''')
cmd = input('>>>>>')
if not '0' <= cmd <= '4':
print('输入有误')
continue
if cmd == '1':
cls1.add_student()
if cmd == '2':
while True:
name = input('find student by name(input 0 to back):')
if name == '0':
break
stu = cls1.find_student(name)
print(stu)
if cmd == '3':
while True:
name = input('delete student by name(input 0 to back):')
if name == '0':
break
stu = cls1.del_student(name)
if cmd == '4':
for index in range(len(cls1.students)):
print(cls1.students[index])
if cmd == '0':
break
结果:
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
>>>>>1
name(input 0 to back):张三
sex:男
age:20
name(input 0 to back):李四
sex:女
age:21
name(input 0 to back):王五
sex:男
age:23
name(input 0 to back):0
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
>>>>>2
find student by name(input 0 to back):李四
name:李四 sex:女 age:21
find student by name(input 0 to back):0
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
>>>>>
输入有误
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
>>>>>4
name:张三 sex:男 age:20
name:李四 sex:女 age:21
name:王五 sex:男 age:23
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
>>>>>3
delete student by name(input 0 to back):李四
删除成功
delete student by name(input 0 to back):0
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
>>>>>4
name:张三 sex:男 age:20
name:王五 sex:男 age:23
++++++++++++++++++++++++++++
+ simple system +
+ 1.add student +
+ 2.find student +
+ 3.delete student +
+ 4.find all +
+ 0.exit +
++++++++++++++++++++++++++++
>>>>>0
Process finished with exit code 0