一、創(chuàng)建和使用類
1.創(chuàng)建類:
class Dog():
"""一次模擬小狗的簡單嘗試"""
def __init__(self, name,age):
"""初始化屬性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!")
2.init(self, name,age)類:
def __init__(self, name,age):
self是指向對象的引用,name和age為屬性。
3.使用類,調用方法,調用屬性:
my_dog = Dog('willie',6)
my_dog.sit()
my_dog.name.title()
二、
1.使用類和屬性,給類默認屬性:
class Car():
"""一次模擬汽車的簡單嘗試"""
def __init__(self, make,model,year):
"""初始化描述汽車的屬性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""返回整潔的描述性信息"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
"""打印一條指出汽車里程的消息"""
print(self.make+" ,odometer is "+str(self.odometer_reading)+" miles.")
my_new_car = Car('audi','a4',2016)
print(my_new_car.get_descriptive_name())
my_new_car.read_odometer()
2.修改屬性的值:
1)直接修改屬性的值:
my_new_car.odometer_reading = 234
2)通過方法修改屬性的值:
def update_odometer(self,mileage):
"""將里程表讀數設置為指定的值"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
3)通過方法對屬性的值進行遞增:
def increment_odometer(self,miles):
"""將里程表讀數增加指定的量"""
self.odometer_reading += miles
三、繼承
1.子類的繼承:
class ElectricCar(Car):
"""電動汽車的獨特之處"""
def __init__(self, make,model,year):
"""初始化父類的屬性"""
super().__init__(make,model,year)
2.給子類定義方法和屬性:
super().__init__(make,model,year)
self.battery_size = 70
def describe_battery(self):
"""打印一條描述點評容量的消息"""
print("This car has a " + str(self.battery_size) + "-kWh battery.")
3.重寫父類的方法:
4.將實例用作屬性:
my_tesla.battery.describe_battery()
四、導入類:
1,導入單個類:
from cars import Car
2,在一個模塊中存儲多個類
3,從一個模塊中導入多個類
from car import Car,ElectricCar
4,導入整個模塊
import car
5.導入模塊中的所有類
from car import *
6.在一個模塊中導入另一個模塊
五、python標準庫中OrderedDict能夠記錄字典添加鍵-值的順序。

類編碼風格.png