本文案例来自python编程,从入门到实践
创建和使用类
Dog类
class Dog():
def __init__(self,name,age): //定义形参 方便传值
self.name = name
self.age = age
def sit(self):
print(self.name.title())
def roll_over(self):
print(self.name.title()+ "rolled over!")
my_dog = Dog('Lily',6)
my_dog.sit()
my_dog.roll_over()
根据类创建实例
访问属性并调用方法
my_dog = Dog('Lily',6)
print(my_dog.name.title())
my_dog.sit()
my_dog.roll_over()
输出台内容

image.png
创建多个实例
my_dog1 = Dog('andy',3)
my_dog2 = Dog('awndy',4)
使用类和实例
Car类
class Car():
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
self.milliage = 0 // 初始化定义值
def getinfo(self):
long_name = str(self.year)+''+self.make+'' +self.model
return long_name.title()
mynewcar = Car('audi',a4,2016)
print(mynewcar.getinfo())
修改属性值
直接修改
mynewcar.year = 6
print(mynewcar.getinfo())
通过方法修改
class Car():
#省略····
def updateinfo(self,newmilliage):
self.milliage = newmilliage
mynewcar = Car('audi',a4,2016)
mynewcar.updateinfo(100)
print(mynewcar.milliage)
继承
Ecar继承了car
class Ecar(Car):
def __init__(self,make,model,year):
super().__init__(make,model,year)
mytesla = Ecar('tesla','model 3',2019)
print(mytesla.getinfo())
给子类定义属性和方法
class Ecar(Car):
def __init__(self,make,model,year):
super().__init__(make,model,year)
self.battery=70
def getbattery(self):
print('this car is' + str(self.battery) + 'battery')
mytesla = Ecar('tesla','model 3',2019)
print(mytesla.getinfo())
mytesla.getbattery()
重写父类方法
class Car():
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
self.milliage = 0 # 初始化定义值
def gas(self):
print("use gas")
class Ecar(Car):
def __init__(self,make,model,year):
super().__init__(make,model,year)
self.battery=70
def gas(self): #重写父类方法
print("use Electric")
将实例作属性
比如把电车的电瓶作为属性
class Car2():
#此处省略
class Battery():
def __init__(self,battery_size=70):
self.battery_size = battery_size
def describe_battery(self):
print("Battery Size is "+str(self.battery_size)+'kwh')
class Ecar2(Car2):
def __init__(self,make,model,year):
super().__init__(make,model,year)
self.battery = Battery()
myEcar2 = Ecar2('tsl2','model3',2020)
myEcar2.battery.describe_battery()
从文件中导入类
car.py
from car imprort Car
一个模块中存储多个类
car.py
class Car:
class Battery:
class Ecar(Car):
从一个文件中导入多个类
from car imprort Car,Ecar
导入整个模块
import car
mycar = car.Car('volvo','eastwind',2016)
mytesla = car.Ecar('tesla','model 3',2019)
导入模块中的所有类
from modulename import *