聲明一個電腦類:
屬性:品牌橘茉、顏色工腋、內(nèi)存大小
方法:打游戲、寫代碼畅卓、看視頻
a.創(chuàng)建電腦類的對象擅腰,然后通過對象點的方式獲取、修改翁潘、添加和刪除它的屬性
b.通過attr相關(guān)方法去獲取趁冈、修改、添加和刪除它的屬性
class Computer:
"""電腦類"""
def __init__(self,brand,color,size):
self.brand = brand
self.color = color
self.size = size
@staticmethod
def play_games(game):
print('打%s游戲'%game)
@staticmethod
def write_code(type):
print('寫%s代碼'%type)
@staticmethod
def watch_videos(video):
print('看%s電影'%video)
#創(chuàng)建一個電腦對象
comp1 = Computer('戴爾','black','4G')
#獲取屬性
print(comp1.brand,comp1.color,comp1.size)
#通過getattr獲取屬性
print(getattr(comp1,'brand'))
#修改屬性
comp1.brand = 'mac'
print(comp1.brand)
#通過setattr修改屬性
setattr(comp1,'color','red')
print(comp1.color)
#添加屬性,顯示器大小
comp1.monitor = '14寸'
print(comp1.monitor)
#通過 setattr添加屬性
setattr(comp1,'monitor','14寸')
print(comp1.monitor)
刪除屬性
del comp1.brand
print(comp1.brand)
通過delattr刪除屬性
delattr(comp1,'brand')
print(comp1.brand)
結(jié)果
戴爾 black 4G
戴爾
mac
red
14寸
14寸
聲明一個人的類和狗的類:
狗的屬性:名字拜马、顏色渗勘、年齡
狗的方法:叫喚
人的屬性:名字、年齡俩莽、狗
人的方法:遛狗
a.創(chuàng)建人的對象小明呀邢,讓他擁有一條狗大黃,然后讓小明去遛大黃
class Dog:
def __init__(self,name,color,age):
self.g_name = name
self.color = color
self.g_age = age
def call(self):
print('%s:叫喚'%(self.g_name))
class Person:
def __init__(self,name,age=18):
self.name = name
self.age = age
#用None來表示對象的零值
self.dog = None
def walk_dog(self):
if self.dog == None:
print('遛狗')
return
print('%s在遛%s'%(self.name,self.dog.g_name))
people = Person('小明',18)
people.dog = Dog('大黃','yellow',2)
print(people.walk_dog())
結(jié)果
小明在遛大黃
聲明一個矩形類:
屬性:長豹绪、寬
方法:計算周長和面積
a.創(chuàng)建不同的矩形,并且打印其周長和面積
class Rectangle:
def __init__(self,length,width):
self.length = length
self.width = width
def perimeter(self):
#計算周長
return (self.length+self.width)*2
# print('這個矩形周長為%s'%(result))
def area(self):
#計算面積
return self.length*self.width
# print('這個矩形面積為%s'%(result))
rec1 = Rectangle(20,30)
print(rec1.perimeter())
print(rec1.area())
rec2 = Rectangle(50,78)
print(rec2.perimeter())
print(rec2.area())
結(jié)果
100
600
256
3900
4.
創(chuàng)建一個學(xué)生類:
屬性:姓名申眼,年齡瞒津,學(xué)號
方法:答到,展示學(xué)生信息
創(chuàng)建一個班級類:
屬性:學(xué)生括尸,班級名
方法:添加學(xué)生巷蚪,刪除學(xué)生,點名
from random import randint
# if __name__ == '__main__':
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
self.number = 'pu1805'+str(randint(0,50))
def answer(self):
print('%s,到'%self.name)
def show_message(self):
print('name:%s age:%s number:%s' % (self.name, self.age, self.number))
class Class:
def __init__(self,name):
self.name = name
self.students = []
def append_student(self,student):
#添加學(xué)生
self.students.append(student)
def del_student(self,name):
for student in self.students[:]:
if student.name == name:
self.students.remove(student)
def call_names(self):
for student in self.students:
#點名
print(student.name)
#答到
student.answer()
cla1 = Class('py1805')
stu1 = Student('張三',18)
stu2 = Student('李四', 17)
stu3 = Student('王五', 16)
cla1.append_student(stu1)
cla1.append_student(stu2)
cla1.append_student(stu3)
cla1.call_names()
結(jié)果
張三
張三,到
李四
李四,到
王五
王五,到
寫一個類濒翻,封裝所有和數(shù)學(xué)運算相關(guān)的功能(包含常用功能和常用值屁柏,例如:pi, e等)
class Math:
pi = 3.1415926
e = 2.718
@staticmethod
def add(a,b):
return a+b
@staticmethod
def sub(a,b):
#減法
return a-b
@staticmethod
def mul(a,b):
#加法
return a*b
@staticmethod
def div(a,b):
#除法
return a/b
@staticmethod
def rem(a,b):
#取余
return a%b
@staticmethod
def pic(a,b):
# 取整
return a//b
print(Math.add(1,2))
print(Math.div(2,6))
結(jié)果
3
0.3333333333333333