類與庫
1、創建和使用類
1.1創建Dog類
class Dog():
def _init_(self,name,age):
self.name=name
self.age=age
def sit(self):
print(self.name.title()+"is now sitting.")
def roll_over(self):
print(self.name.title()+"rolled over!")
方法_init_():
類中的函數稱為方法,方法_init_()是一個特殊的方法,每當你根據Dog類創建新實例時,python都會自動運行它。在這個方法的名稱中,開頭和結尾各有一個下劃線,這是一種約定,
旨在避免python默認方法和普通方法發生名稱衝突
1.2使用Dog類
my_dog=Dog('willie',6)
print("My dog's name is"+my_dog.name.title()+".")
print("My dog is ")+str(my_dog.age)+"years old."
訪問屬性
my_dog.name
調用方法
my_dog.sit()
創建多個實例
my_dog=Dog('willie',6)
your_dog=Dog('lucy',3)
2、繼承
class Car():
def _init_(self,make,model,year):
self.make=make
self.model=model
self.year=year
self.odometer_reading=0
def ger_descriptive_name(self):
long_name=str(self.year)+' '+self.make+' '+self.model
return long_name.title()
def read_odometer(self):
print("This car has "+ str(self.odometer_reading)+"miles on it")
def update_odometer(self,mileage):
if mileage>= self.odometer_reading:
self.odometer_reading=mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self,miles):
self.odometer_reading+=miles
class ElectricCar(Car):
def _init_(self,make,model,year):
super()._init_(make,model,year)
my_tesla=ElectricCar('tesla','model s',2016)
print(my_tesla.ger_descriptive_name())
首先是Car的程式碼,創建子類時,父類必須包含在當前文件中,且位於之類前面。
定義子類時,必須在括弧內指定父類的名稱
方法_init_()接受創建Car實例所需的資訊
super()是一個特殊函數,幫助python將父類和子類關聯起來
3、導入類
from car import Car
from car import Car,ElectricCar
my_tesla=ElectricCar('tesla','model s',2016)
import car
my_tesla=car.ElectricCar('tesla','model s',2016)
在一個模組中導入另一個模組
將Car類存儲在car模組,並將ElectricCar和Battery類存儲在electric_car.py中
from car import Car
class Battery():
--snip--
class ElectricCar(Car):
--snip--
4、Python標準庫
要創建字典並記錄其中的鍵-值對的添加順序,可使用模組collections中的OrderedDict類

