1.聲明?個電腦類: 屬性:品牌菊霜、顏?、內(nèi)存?小 方法:打游戲济赎、寫代碼鉴逞、看視頻
class Computer:
def __init__(self, brand, color, memory):
self.brand = brand
self.color = color
self.memory = memory
def game(self):
print('打游戲')
def code(self):
print('寫代碼')
def video(self):
print('看視頻')
a.創(chuàng)建電腦類的對象,然后通過對象點的?方式獲取司训、修改构捡、添加和刪除它的屬性
computer = Computer(brand='Timi', color='gray', memory=16)
print(computer.brand)
computer.brand = 'Asus'
print(computer.brand)
computer.weight = 2
print(computer.weight)
del computer.weight
print(computer.weight)
b.通過attr相關(guān)?方法去獲取、修改壳猜、添加和刪除它的屬性
computer1 = Computer(brand='Timi', color='gray', memory=16)
print(getattr(computer1, 'brand'))
setattr(computer1,'brand','Asus')
print(computer1.brand)
setattr(computer1,'weight',2)
print(computer1.weight)
delattr(computer1,'brand')
print(computer1.brand)
2.聲明?個人的類和狗的類:
狗的屬性:名字勾徽、顏色、年齡
狗的方法:叫喚
人的屬性:名字统扳、年齡喘帚、狗
人的?法:遛狗
a.創(chuàng)建?的對象?明,讓他擁有?條狗?黃咒钟,然后讓?明去遛??
class Dog:
def __init__(self, name, color, age):
self.name = name
self.color = color
self.age = age
def bark(self):
print('%s:汪汪汪'%self.name)
class People:
def __init__(self, name, age, dog_name):
self.name = name
self.age = age
self.dog_name = dog_name
def walk_the_dog(self):
print('%s遛%s' %(self.name,self.dog_name))
dog1= Dog('大黃', 'yellow', 3)
people1 = People('小明', 18, dog1.name)
people1.walk_the_dog()
dog1.bark()
3.聲明?一個圓類吹由,自己確定有哪些屬性和方法
from math import pi,sqrt
class Circle:
def __init__(self, radius, center):
self.radius = radius
self.center = center
def get_center(self):
print('圓的圓心為',self.center)
def get_radius(self):
print('圓的半徑為',self.radius)
def set_center(self, center):
self.center = center
def set_radius(self, radius):
self.radius = radius
def area(self):
print('半徑為%.2f的圓的面積為%.2f'%(self.radius,(pi * (self.radius **2))))
def perimeter(self):
print('半徑為%.2f的圓的周長為%.2f'%(self.radius,(pi * 2 * self.radius)))
def center_distance(self):
print('圓心和原點的距離為%.2f'%(sqrt(self.center[0]**2 + self.center[1]**2)))
circle = Circle(3.1 ,(2,3))
circle.set_center((1,1))
circle.set_radius(2.9)
circle.get_center()
circle.get_radius()
circle.area()
circle.perimeter()
circle.center_distance()
4.創(chuàng)建?個學?生類:
屬性:姓名,年齡朱嘴,學號
方法:答到溉知,展示學?信息
創(chuàng)建?個班級類:
屬性:學?,班級名
方法:添加學生腕够,刪除學生级乍,點名, 求班上學生的平均年齡
class Student:
def __init__(self, name, age, stu_id):
self.name = name
self.age = age
self.stu_id = stu_id
def answer(self):
print(self.name, self.age, self.stu_id)
class Class:
def __init__(self, student_list, class_name):
self.student_list = student_list
self.class_name = class_name
def add_student(self, student):
self.student_list.append(student)
print('%s成功添加!'%student.name)
def del_student(self, name):
for student in self.student_list[:]:
if student.name == name:
self.student_list.remove(student)
print('%s成功刪除!'%name)
break
else:
print('%s不在名單中!'%name)
def call_name(self):
print('========%s點名========='%self.class_name)
for student in self.student_list[:]:
student.answer()
def ave_age(self):
sum = 0
for student in self.student_list[:]:
sum += student.age
print('%s的平均年齡為%.2f'%(self.class_name,(sum/len(self.student_list))))
s1 = Student('小明', 12 , 'py123')
s2 = Student('小紅', 17 , 'py124')
s3 = Student('小王', 14 , 'py125')
s4 = Student('小張', 15 , 'py126')
s5 = Student('小楊', 11 , 'py127')
c1 = Class([s1,s2],'class1')
c1.add_student(s3)
c1.add_student(s4)
c1.add_student(s5)
c1.del_student('小紅')
c1.call_name()
c1.ave_age()