"""author= HuangZhong"""
1.聲明?個(gè)電腦類:
屬性:品牌蜂桶、顏?晓避、內(nèi)存?小 方法:打游戲嗡综、寫(xiě)代碼乙帮、看視頻
a.創(chuàng)建電腦類的對(duì)象,然后通過(guò)對(duì)象點(diǎn)的?方式獲取极景、修改察净、添加和刪除它的屬性
b.通過(guò)attr相關(guān)?方法去獲取、修改盼樟、添加和刪除它的屬性
class Computer:
"""類:電腦
屬性:品牌氢卡、顏色、內(nèi)存
方法:打游戲晨缴、寫(xiě)代碼译秦、看視頻
"""
def __init__(self, brand, color, memory):
self.brand = brand
self.color = color
self.memory = memory
def play_game(self):
print('打游戲')
def write_code(self):
print('寫(xiě)代碼')
def wSee_video(self):
print('看視頻')
c1 = Computer('dell', 'silver', 8)
print(c1.brand) # 查看
setattr(c1, 'memory', 16)
print(c1.memory)
setattr(c1, 'price', 5000)
print(c1.price)
c1.brand = '東芝'
print('品牌:', c1.brand) # 點(diǎn)方法修改
setattr(c1, 'brand', '聯(lián)想') # attr方法修改
c1.price = 5000 # 點(diǎn)方法添加
setattr(c1, 'screen', '15.4') # attr 方法添加
print('品牌:', c1.brand, '顏色:', c1.color, '內(nèi)存:', c1.memory,
'價(jià)格:', c1.price, '屏幕尺寸:', c1.screen)
del c1.brand
delattr(c1, 'color')
print('內(nèi)存:', c1.memory, '價(jià)格:', c1.price, '屏幕尺寸:', c1.screen)
2.聲明?個(gè)人的類和狗的類:
狗的屬性:名字、顏?色击碗、年年齡
狗的?方法:叫喚
人的屬性:名字筑悴、年年齡、狗
人的?方法:遛狗
a.創(chuàng)建?人的對(duì)象?小明稍途,讓他擁有?一條狗?大?黃阁吝,然后讓?小明去遛?大?黃
class Person:
"""類的說(shuō)明:定義人類"""
def __init__(self, name, dog, age=0):
self.name = name
self.age = age
self.dog = dog
def playDog(self):
print('%s有一條叫做%s的狗,小明每天帶著%s去遛彎' % (self.name, self.dog, self.dog))
class Dog:
"""類的說(shuō)明:定義狗類"""
def __init__(self, name, color='黑色', age=1):
self.name = name
self.color = color
self.age = age
def bark(self):
print('%s天天叫喚個(gè)不停')
dog1 = Dog('大黃')
p1 = Person('小明', dog1.name)
p1.playDog()
3.聲明?一個(gè)圓類械拍,自己確定有哪些屬性和方法
class Circle:
"""類的說(shuō)明:定義一個(gè)圓類突勇,并求圓的周長(zhǎng)和面積"""
global pi
pi = 3.14
def __init__(self, r):
self.r = r
def perimeter(self):
rerimeter = 2 * pi * self.r
return rerimeter
def area(self):
area = pi * self.r**2
return area
4.創(chuàng)建?一個(gè)學(xué)?生類:
屬性:姓名装盯,年齡,學(xué)號(hào)
方法:答到与境,展示學(xué)?生信息
class Student:
"""類的說(shuō)明:定義一個(gè)學(xué)生類"""
def __init__(self, name, age, stuid='001'):
self.name = name
self.age = age
self.stuid = stuid
self.state = random.randint(0, 1)
def answer(self):
if self.state == 0:
print('%s沒(méi)有到' % self.name)
else:
print('%s 到了' % self.name, '姓名:%s 年齡:%s 學(xué)號(hào):%s' % (self.name, self.age, self.stuid))
創(chuàng)建?一個(gè)班級(jí)類:
屬性:學(xué)?生验夯,班級(jí)名
方法:添加學(xué)?生,刪除學(xué)生摔刁,點(diǎn)名, 求班上學(xué)生的平均年齡
class Class:
"""
類的說(shuō)明:定義一個(gè)班級(jí)類
實(shí)現(xiàn)添加學(xué)生挥转,刪除學(xué)生并且求出學(xué)生平均年齡的功能
"""
def __init__(self, class_name, *student):
self.class_name = class_name
self.student = list(student)
def add_student(self, stu):
self.student.append(stu)
def del_student(self, student):
self.student.remove(student)
def answer_student(self):
for stu in self.student:
stu.answer()
def avg_age(self):
totals = 0
for stu in self.student:
totals += stu.age
avg_age = totals / len(self.student)
return avg_age