镇贴图自摄。(被压缩的好厉害呀)
在家好无聊啊好无聊啊..导入单个类
由于类比较繁琐,所以我们可以设置文档字符串,形如:
'''一个可用于表示汽车的类'''
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('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
在Python中每个文件都是一个模块,直接from不带扩展名的文件名称,import类就可以了,
相当于继承
from car import Car
my_new_car = Car('audi','a4',2016)在一个模块中储存多个类
原标有文档字符串的代码:
'''一组用于表示燃油汽车和电动汽车的类'''
class Car():
def __init__(self,make,model,year):
self.make = make
self.nmodel = model
self.year = year
self.odometer_reading = 0
def get_discriptive_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):
self.mileage = 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 Battery():
'''一次模拟电动汽车电瓶的简单尝试'''
def __init__(self,battery_size = 70):
'''初始化电瓶的属性'''
self.battery_size = battery_size
def describe_battery(self):
'''打印一条电瓶容量的信息'''
print("This car has a "+str(self.battery_size) + "-kwh battery.")
def get_range(self):
'''打印一条电瓶续航里程的信息'''
if self.battery_size == 70:
range = 240
elif self.battery_size == 85:
range = 270
message = "this car can go approximately " + str(range) +" miles on a full charge."
print(message)
class ElectricCar(Car):
'''模拟电动汽车的独特之处'''
def __init__(self,make,model,year):
'''初始化父类属性 再初始化电动汽车的特有属性'''
super().__init__(make,model,year)
self.battery = Battery()
def read_odometer(self):
print("There's no need to read it!")
from electric_car import ElectricCar
my_tesla = ElectricCar('tesla','model s',2016)
该模块中有多个类,我们可以只从其中选取一个类从一个模块中导入多个类
from electric_car import ElectricCar,Car
my_tesla = ElectricCar('tesla','model s',2016)
my_beetle = Car('volkswagen','beetle',2016)
也就是原来的文件不只有一个类,我们从一个文件中导入多个类导入整个模块
import electric_car
my_tesla = electric_car.ElectricCar('tesla','model s',2016)
my_beetle = electric_car.Car('volkswagen','beetle',2016)
前面要加electric.,类似于import math,如果要用math库里面的什么东西要加math.,显然类ElectricCar和Car都是属于electriccar库的东西,所以要加electri_car导入模块中的所有类
from module_name import *
题:
#晚上有事儿 有时间再写
单纯导入的话...挺傻的...
9-10 my code
from restaurant import Restaurant
9-11 my code
class User:
def __init__(self,first_name,last_name):
self.first_name = first_name
self.last_name = last_name
self.login_attempts = 0
def describe_user(self):
print(self.first_name)
print(self.last_name)
def greet_user(self):
print('Welcome to Windows 10')
def increment_login_attempts(self):
self.login_attempts +=1
def reste_login_attempts(self):
self.login_attempts = 0
class Privileges():
def privilege(self):
self.privileges = ['can add post','can delete post','can ban user']
print(self.privileges)
class Admin(User):
def __init__(self,first_name,last_name):
super().__init__(first_name,last_name)
self.privileges = Privileges()
def show_privilege(self):
a = Privileges().privilege()
print(a)
from Admin import User,Privileges,Admin
9-12 略