一、创建和使用类
1.创建类:
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能够记录字典添加键-值的顺序。