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 元类使用说明
Dec 18 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
python实现Windows电脑定时关机
Jun 20 Python
python画一个玫瑰和一个爱心
Aug 18 Python
python隐藏终端执行cmd命令的方法
Jun 24 Python
Django框架模板用法入门教程
Nov 04 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 Python
python如何使用代码运行助手
Jul 03 Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 Python
Python基础之hashlib模块详解
May 06 #Python
用Python爬虫破解滑动验证码的案例解析
python本地文件服务器实例教程
python字符串常规操作大全
python自动化之如何利用allure生成测试报告
python使用openpyxl库读写Excel表格的方法(增删改查操作)
Python time库的时间时钟处理
You might like
Ajax PHP简单入门教程代码
2008/04/25 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
详解php的socket通信
2015/08/11 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
php socket通信简单实现
2016/11/18 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python机器学习之神经网络(二)
2017/12/20 Python
详解Python 函数如何重载?
2019/04/23 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
内部类的定义、种类以及优点
2013/10/16 面试题
大学生会计职业生涯规划范文
2014/02/28 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
个人借款担保书
2014/04/02 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
2014个人年度工作总结
2014/12/15 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
小学教师年度个人总结
2015/02/05 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
2016年元旦主持词
2015/07/06 职场文书
学生会主席任命书
2015/09/21 职场文书
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python