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 相关文章推荐
Python数据库的连接实现方法与注意事项
Feb 27 Python
Python中生成Epoch的方法
Apr 26 Python
python实现聊天小程序
Mar 13 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
Python中遍历列表的方法总结
Jun 27 Python
python爬虫 爬取58同城上所有城市的租房信息详解
Jul 30 Python
Python模块相关知识点小结
Mar 09 Python
在 Pycharm 安装使用black的方法详解
Apr 02 Python
Python实现GIF图倒放
Jul 16 Python
python RSA加密的示例
Dec 09 Python
Python 求向量的余弦值操作
Mar 04 Python
Python基础之hashlib模块详解
May 06 #Python
用Python爬虫破解滑动验证码的案例解析
python本地文件服务器实例教程
python字符串常规操作大全
python自动化之如何利用allure生成测试报告
python使用openpyxl库读写Excel表格的方法(增删改查操作)
Python time库的时间时钟处理
You might like
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
JavaScript 常用函数
2009/12/30 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
webpack搭建vue 项目的步骤
2017/12/27 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
python编写Logistic逻辑回归
2020/12/30 Python
python爬虫爬取网页表格数据
2018/03/07 Python
Python自定义线程类简单示例
2018/03/23 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
python求解数组中两个字符串的最小距离
2018/09/27 Python
python 把列表转化为字符串的方法
2018/10/23 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
金讯Java笔试题目
2013/06/18 面试题
测绘工程个人的自我评价
2013/11/10 职场文书
母亲节感恩寄语
2014/02/21 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
python双向链表实例详解
2022/05/25 Python
Golang Web 框架Iris安装部署
2022/08/14 Python