python 003 python基礎 類的使用
阿新 • • 發佈:2018-11-13
一個簡單的類 User
class User(): def __init__(self,name,age): # 下劃線是長的下劃線 self.name=name self.age=age def eat_food(self): print(self.name.title()) def sleep(self): print(self.name.title()+"--年齡:"+str(self.age)+" 需要睡覺") # 例項化User類 並呼叫其中的屬性和方法 user01=User("lili",23) print(user01.name+"---------"+str(user01.age)) user01.eat_food() user01.sleep()
修改類中屬性的值 帶初始值的屬性
# 例項化類 並呼叫其中的屬性及方法 user01=User("lili",23) print(user01.name+"---------"+str(user01.age)) user01.eat_food() user01.sleep() # 修改類中屬性的值 帶初始值的屬性 class Car(): def __init__(self,brand,color): self.brand=brand self.color=color self.mileage=0 def print_mileage(self): return self.mileage # 新增修改里程的方法 def modify_mileage(self,ss): if self.mileage<=ss: self.mileage=ss else: print("修改的里程是小於原來里程數!!") # 添加里程增加的方法 def add_mileage(self,add_ss): self.mileage+=add_ss car001=Car("QQ","red") print("汽車的品牌: "+car001.brand+" 汽車的顏色: "+car001.color) car_mileage=car001.print_mileage() print("汽車的行駛里程: "+str(car_mileage)) #汽車的行駛里程: 0 結果 car001.modify_mileage(100) car_mileage=car001.print_mileage() print("汽車的行駛里程: "+str(car_mileage)) #汽車的行駛里程: 100 car001.modify_mileage(20) #修改的里程是小於原來里程數!! car001.add_mileage(40) car_mileage=car001.print_mileage() print("汽車的行駛里程: "+str(car_mileage)) #汽車的行駛里程: 140
繼承
繼承 一個類繼承另一個類時,他將自動獲取另一個類的所有屬性和方法,原有的類成為父類 新類成為子類,同時子類可以定義自己的屬性和方法
# 類的繼承 class ElectricCar(Car): def __init__(self,brand,color): super().__init__(brand,color) # 覆蓋方法 def print_brand_color(self): print("覆蓋父類的方法---只打印顏色-"+self.color) #呼叫 electri_car001=ElectricCar("bm","write") electri_car001.print_brand_color() #bm----write 可以呼叫父類的方法 覆蓋父類的方法---只打印顏色-write
class ElectricCar(Car):
def __init__(self,brand,color):
super().__init__(brand,color)
**self.battery=70**
# 覆蓋方法
def print_brand_color(self):
print("覆蓋父類的方法---只打印顏色-"+self.color)
# *子類自己的方法*
def print_battery(self):
print(self.battery)
electri_car001=ElectricCar("bm","write")
electri_car001.print_brand_color() #bm----write 可以呼叫父類的方法 覆蓋父類的方法---只打印顏色-write
electri_car001.print_battery() # 70
在類中呼叫別的類作為屬性
#電池類
class Battery():
def __init__(self,batt=70):
self.batt=batt
def print_battery(self):
print("電池的續航能力是:"+str(self.batt))
# 電動車類
class ElectricCar(Car):
def __init__(self,brand,color):
super().__init__(brand,color)
**self.battery=Battery(50)**
# 覆蓋方法
def print_brand_color(self):
print("覆蓋父類的方法---只打印顏色-"+self.color)
# 子類自己的方法
def print_battery(self):
**print(self.battery.batt)**
electri_car001=ElectricCar("bm","write")
electri_car001.print_brand_color() #bm----write 可以呼叫父類的方法 覆蓋父類的方法---只打印顏色-write
electri_car001.print_battery() # 50
可以將類進行模組化 在檔案的最上面匯入類 建立例項 使用方法
class Car():
def __init__(self,brand,color):
self.brand=brand
self.color=color
def print_brand_color(self):
print("品牌: "+self.brand+"-------顏色: "+self.color)
匯入Car
from car import Car
car001=Car("QQ","red")
car001.print_brand_color() #品牌: QQ-------顏色: red