1.聲明一個電腦類: 屬性:品牌、顏色、內(nèi)存 方法:打游戲、寫代碼、看視頻
a.創(chuàng)建電腦類的對象,然后通過對象點的方式獲取、修改、添加和刪除它的屬性
b.通過attr相關(guān)方法去獲取、修改、添加和刪除它的屬性
class Computer:
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('寫代碼讓我快樂!')
def watch_video(self):
print('電視還是多好看!')
a = Computer('華碩','黑色','16G') #查看
print(a.brand)
a.brand = '戴爾' #修改
print(a.brand)
a.size = '16寸' #添加
print(a.size)
del a.size #修改
print(getattr(a,'brand')) #查看
setattr(a,'brand','聯(lián)想') #修改
setattr(a,'size','16寸') #添加
print(a.size)
delattr(a,'size') #刪除
print(a.brand)
a.play_game()
a.write_code()
a.watch_video()
結(jié)果:
華碩
戴爾
16寸
戴爾
16寸
聯(lián)想
我正在打游戲!
寫代碼讓我快樂!
電視還是多好看!
2.聲明一個人的類和狗的類:
狗的屬性:名字、顏色、年齡 狗的發(fā)法:叫喚
人的屬性:名字、年齡、
狗的方法:遛狗
a.創(chuàng)建人的對象小明,讓他擁有一條狗大黃,然后讓小明去遛大黃
class Dog:
def __init__(self,name,color,age):
self.name = name
self.color = color
self.age = age
def call(self):
print('汪~汪~汪~~~')
class Person:
def __init__(self,name,age,dog):
self.name = name
self.age = age
self.dog = dog
def take_dog(self):
print('%s的%s在街上溜著%s的%s的%s'%(self.age,self.name,dog.age,dog.color,dog.name))
dog = Dog('大黃','黃色','2歲')
person1 = Person('小明','18歲',dog)
person1.take_dog()
dog.call()
結(jié)果:
18歲的小明在街上溜著2歲的黃色的大黃
汪~汪~汪~~~
3.聲明一個矩形類:
屬性: 長、寬 方法:計算周長和面積
a.創(chuàng)建不同的矩形,并且打印其周長和面積
class Rect:
def __init__(self, width, weight):
self.width = width
self.weight = weight
def perimeter(self):
return 2 * (self.weight + self.width)
def area(self):
return self.weight * self.width
rect1 = Rect(3,4)
rect2 = Rect(6,9)
print('矩形1的周長是%d,面積是%d'%(rect1.perimeter(),rect1.area()))
print('矩形2的周長是%d,面積是%d'%(rect2.perimeter(),rect2.area()))
結(jié)果:
矩形1的周長是14,面積是12
矩形2的周長是30,面積是54
4.創(chuàng)建一個學(xué)生類:
屬性:姓名,年齡,學(xué)號 方法:答到,展示學(xué)生信息 創(chuàng)建意個班級類:
屬性:學(xué)號,班級名 方法:添加學(xué)生,刪除學(xué)生,點名
class Student:
def __init__(self, name, age, id):
self.name = name
self.age = age
self.id = id
def amount(self):
print('%s到!'%self.name)
def stu_info(self):
print('姓名:%s,年齡:%s,學(xué)號:%s'%(self.name,self.age,self.id))
class Class:
def __init__(self, id, c_name,stu):
self.class1 = {'班級名':c_name}
self.id = id
self.c_name = c_name
self.stu = stu
def add_stu(self):
self.class1[self.id] = [self.stu.name, self.stu.age]
def del_stu(self):
del self.class1[self.id]
def sign_in(self):
print(self.stu.name)
stu1 = Student('小明','18','001')
class1 = Class(stu1.id,'python1806',stu1)
stu1.amount()
stu1.stu_info()
class1.add_stu()
print(class1.class1)
class1.del_stu()
print(class1.class1)
class1.sign_in()
測試:
小明到!
姓名:小明,年齡:18,學(xué)號:001
{'班級名': 'python1806', '001': ['小明', '18']}
{'班級名': 'python1806'}
小明
5.寫一個類,封裝所有和數(shù)學(xué)運算相關(guān)的功能(包含常用功能和常用值,例如:pi,e等)
class Math:
def __init__(self):
self.pi = 3.14
def add(self, x, y):
return x + y
def rectangle_area(self, width, weight):
return width * weight
def circle_area(self, radius):
return self.pi * radius ** 2
def max(self,*args):
self.args = args
list1 = list(self.args)
list1.sort()
return list1[-1]
ma = Math()
print('兩個數(shù)和是',ma.add(3,4))
print('長方形的面積是:',ma.rectangle_area(3,4))
print('圓的面積是:',ma.circle_area(3))
print('序列的最大值是:',ma.max(4,7,2,5,1))
結(jié)果:
兩個數(shù)和是 7
長方形的面積是: 12
圓的面積是: 28.26
序列的最大值是: 7