Python中常见的导入方式总结


Posted in Python onMay 06, 2021

一、直接导入模块

import 模块名

优点:干净直接

import sys
print(sys.path)
import os # os是一个模块
import os.path # 注意这里的os.path是一个模块

二、直接导入包

import 包名

如果只导入包,在调用时不可使用.来找到模块,但可以访问到__init__.py下的类和函数。

import bs4 # 注意这里bs4是一个包!
soup = bs4.BeautifulSoup(...) # 可以访问到包中__init__.py下的类和函数

import Mypack
# Mypack.fun.func() 会报错,找不到fun模块,需要使用方法3或6来导入特定模块

三、导入包中的一个模块

import 包名.模块名

包使用的注意事项

  • 需要先将包(文件夹)写在sys.path列表中的一个目录下,如果没有需要使用列表的append方法追加进去。
  • 在包中需要再写一个__init__.py文件表示这是一个包,文件可以为空。在__init__.py下写的函数和类可以在只导入包的情况下访问到(如只导入bs4包,可以使用BeautifulSoup类,但不可以使用包中的其他模块)。
import sys
sys.path.append(r"E:\\")

import Mypack.fun
Mypack.fun.func()

四、导入模块并取别名

import 模块名 as 别名

优点:别名方便记忆

import sys as s
print(s.path)

import Mypack.fun as f
f.func()

五、从模块(或者包)中取出特定函数(不建议)

from 模块名(包名) import 函数名

优点:直接取出特定函数,无需再加命名空间。

缺点:无命名空间限制,容易乱。

from sys import setrecursionlimit
setrecursionlimit(500)

from bs4 import BeautifulSoup # 这里取出了bs4包中__init__.py文件中的BeautifulSoup类
soup = BeautifulSoup(...)

用通配符导入模块中的所有函数,且无需加命名空间。

from sys import *
setrecursionlimit(500)

六、从包中取出特定模块

 from 包名 import 模块名

优点:相较方法3在调用时可以少写包名。

from Mypack import fun
fun.func()

到此这篇关于Python中常见的导入方式总结的文章就介绍到这了,更多相关Python常见导入方式内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
如何搜索查找并解决Django相关的问题
Jun 30 Python
Python读取Excel的方法实例分析
Jul 11 Python
Python 基础知识之字符串处理
Jan 06 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
基于Python测试程序是否有错误
May 16 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
python工具dtreeviz决策树可视化和模型可解释性
Mar 03 Python
Python基础之hashlib模块详解
May 06 #Python
用Python爬虫破解滑动验证码的案例解析
python本地文件服务器实例教程
python字符串常规操作大全
python自动化之如何利用allure生成测试报告
python使用openpyxl库读写Excel表格的方法(增删改查操作)
Python time库的时间时钟处理
You might like
php中目录,文件操作详谈
2007/03/19 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python3最长回文子串算法示例
2019/03/04 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
python实现快递价格查询系统
2020/03/03 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
雷锋精神演讲稿
2014/05/13 职场文书
土建工程师岗位职责
2014/06/10 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python