python之模块导入及模块导入路径
python之模块导入及模块导入路径
一、从模块导入对象
1、import 模块名 [as 别名]。 也可以一次导入多个模块,多个模块之间用逗号隔开
(1)导入格式: import 模块名 [as 别名]
(2)使用方法:使用时要在对象前面加上模块名作为前缀,必须以“模块名.对象名”或者“别名.对象名"的形式进行访问。
2、from 模块名 import 对象名 [as 别名] 对象:包含类、函数、实例化对象;也可以一次导入多个对象,多个对象之间用逗号隔开
(1)导入格式:from 模块名 import 对象名 [as 别名]。
(2)使用方法:直接输入对象,不需要模块作为前缀。
(3)方法特点:使用该方法仅仅导入明确指定的对象,。这种导入方法可以减少查询次数,提高访问速率,同时减少程序员要输入的
代码量,不需要模块作为前缀。
3、from 模块名 import
(1)导入格式:from 模块名 import*
(2)使用方法:直接使用对象不用前缀模块名
(3)方法特点:使用该方法可以一次导入模块中的所有对象,简单粗暴。但是,一般不建议使用。
重点注意:当你遇到类似: ModuleNotFoundError: No module named 'login' 错误,虽然你已经import login,核心原因是执行的主文件和import login的文件不在同一个上级目录下, Python 解释器在搜索路径中找不到名为 login.py(或 login 包)的文件,无法导入这个模块。
解决方案:使用sys.path.append()方法 #当我们导入一个模块时:import xxx,默认情况下python解析器会搜索当前目录、已安装的内置模块和第三方模块,而对于用到的模块和自己写的脚本不在同一个目录下,在脚本开头加sys.path.append(‘xxx’),将其添加到搜索目录中;然后再import对应的模块,如:
import sys
import os
sys.path.append(os.path.dirname(__file__))
把当前脚本所在目录添加到 Python 搜索路径
二、从模块导入类
1、从模块中导入单个类
导入类后,可以根据此类创建实例,继承该类的属性和方法
例如:将Car类存储在一个名为car.py的模块中;my_car.py是利用Car创造的实例。
from car import Car # 从模块car.py中导入类Car
my_new_car=Car('实参') # 创建实例的方式
2、从模块中导入多个类
例如:car.py中不仅包含Car类,还包含ElectricCar类。
from car import Car,ElectricCar
my_new_car=Car('实参')
my_tesla=ElectricCar('实参')
三、导入模块路径
1、import 模块(带上完整模块路径) 或 from 项目模块(带上完整模块路径) import xxx ,路径不用包含project name层级目录
备注:py文件都可以当做一个模块

2、使用.表示当前目录 ..表示上一级目录
备注:只有1个或者2个英文句号时有效,三个四个等无效果


预备知识:
1、为啥项目文件目录下都有一个__init__.py的文件,即使是空的,有__init__.py的叫包,没有这个文件叫目录。
2、如果要想一个文件夹下的文件作为模块被引用的话,init.py文件是必须的。有了__init__.py这个文件,
导入时系统就会认为这个文件夹下的脚本文件都是可以被引用的模块,而不是普通的文件。
更多推荐



所有评论(0)