9.4导入类:
python允许你将类存储在模块中,然后在主程序中导入所需要的模块.
-
导入单个类:
- car.py
"""一个可用于表示汽车的类"""
class Car():
--snip--
现在创建另外一个文件——my_car.py,在其中导入Car类并创建其实例:
- my_car.py
from car import Car
"""让python打开模块car,并导入其中的Car类(内容很多)"""
my_new_car=Car('audi','a4',2020)
通过如此操作后:
主程序文件变得更简洁,易于阅读;
使大部分逻辑储存在独立的文件中;
2.在一个模块中存储多个类:
-
可根据需要在一个模块中储存任意数量的类
- car.py
"""一组用于表示燃油汽车和电动汽车的类"""
class Car():
--snip--
class Battery():
"""一次魔力电动汽车电瓶的简单尝试"""
--snip--
class ElectricCar(Car):
--snip--
现在可以新建一个**_car.py的文件,导入ElectricCar类,并创建一辆电动汽车了:
- My_electric_car.py
from car import ElectricCar
--snip--
大部分逻辑被储存在了一个模块中-car.py
3.从一个模块中导入多个类:
如果我们要在同一个程序中创建普通汽车和电动汽车,就需要将Car和ElectircCar类都导入:
- my_cars.py
from car import Car,ElectricCar
"""从一个模块中导入多个类时,用逗号分隔各个类"""
my_tesla=ElectricCar('tesla','roadster',2020)
my_beetle=Car('volkswagen','beetle',2020)
4.导入整个模块
可以导入整个模块,再使用句点表示法访问需要的类
import car
my_beetle=car.Car('','',2020)
5.导入模块中所有类
-
语法:
from module_name imort *
不推荐这种导入方式:
1.这种导入方式没有明确的指出使用了模块中的哪些类。
2.如果不小心引入一个与程序文件中其他东西同名的类将引发意料之外的错误
若需要使用此种方法导入多个类:
建议:
使用module_name.class_name语法来访问这些类,可解决上述问题
6.在一个模块中导入另一个模块: