1.声明一个电脑类: 属性:品牌、颜 、内存 法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的 式获取、修改、添加和删除它的属性 b.通过attr相关 法去获取、修改、添加和删除它的属性
class Computer:
"""电脑类"""
def __init__(self, brand='联想', color='黑色', memory=0):
self.brand = brand
self.color = color
self.memory = memory
@staticmethod
def play_game(game):
print('玩儿%s' % game)
@staticmethod
def code():
print('写python代码')
@staticmethod
def watch_video(video):
print('在看%s' % video)
com1 = Computer(memory=512)
# 查
print(com1.color)
print(getattr(com1, 'color', '白色'))
# 改
com1.brand = '戴尔'
setattr(com1, 'brand', '华硕')
# 增
# com1.size = 13.5
setattr(com1, 'size', 15)
print(com1.size)
# 删
del com1.size
delattr(com1, 'memory')
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):
self.name = name
self.age = age
self.dog = None
def walk_the_dog(self):
return print(self.name+self.dog.name+'一起散步')
p1 = Person('小明',16)
p1.dog=Dog('点点','白色',1)
p1.walk_the_dog()
#小明点点一起散步
3.声明一个矩形类:
属性: 长宽 方法:计算周长和面积
a.创建不同的矩形,并且打印其周长和面积
class Rectangle:
def __init__(self, length1, width1):
self.length = length1
self.width = width1
def area(self):
return self.length * self.width
def perimeter(self):
return (self.length + self.width) * 2
r1=Rectangle(2,5)
r2=Rectangle(10,20)
r3=Rectangle(50,80)
print('r1面积是:%d'%r1.area(),'r2面积是:%d'%r2.area(),'r3面积是:%d'%r3.area())
print('r1周长是:%d'%r1.perimeter(),'r2周长是:%d'%r2.perimeter(),'r3周长是:%d'%r3.perimeter())
#r1面积是:10 r2面积是:200 r3面积是:4000
#r1周长是:14 r2周长是:60 r3周长是:260
4.创建一个学生类:
属性:姓名, 年龄,学号 方法:答到,展示学生信息
创建一个班级类: 属性:学生,班级名 方法:添加学生,删除学生,点名
class Student():
"""学生"""
def __init__(self,name='',age=0,id=''):
self.name=name
self.age=age
self.id=id
def answer(self):
print('%s,到'% self.name)
def show_info(self):
print('姓名是:%s,年龄:%d,学号是%s'%(self.name,self.age,self.id))
class Class():
"""班级"""
def __init__(self,name=''):
self.name=name
self.student=[]#里面是学生对象
self.__num = 0
def add_student(self):
name = input('请输入学生的姓名:')
age = input('请输入学生的年龄:')
self.__num += 1
id = 'python' + str(self.__num).rjust(3, '0')
stu=Student(name,int(age),id)
self.student.append(stu)
def del_student(self):
del_name=input('请输入要删除的学生姓名:')
a = True
for student in self.student[:]:
if del_name==student.name:
self.student.remove(student)
print('删除成功!')
a = False
if a:
print('没有该学生')
def ask_name(self):
"""点名"""
for student in self.student[:]:
print(student.name)
student.answer()
class1=Class('python1806')
for i in range(3):
class1.add_student()
class1.del_student()
class1.ask_name()
5.写一个类,封装所有和数学运算相关的功能(包含常用功能和常用值, 如:pi,e等)
class Math:
pi = 3.14159265358
e = 2.7
@staticmethod
def sum_double(num1, num2):
return num1 + num2
@classmethod
def circle_area(cls, r):
return cls.pi * r**2