python学习笔记(五)——模块导入
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。
1、模块的定义与分类
在python中模块实际上就是一个以 .py 结尾的源码文件。其中模块主要可以分为三种:
- 一是官方为我们提供的内建的模块
- 二是我们自己写的自定义的模块
- 三是其他地方提供的第三方模块
2、模块的导入
使用 import 导入
# 导入模块
import 模块名1,模块名2,...
# 使用模块中的方法等
模块名.函数/类/全局变量
导入第三方 random 模块,使用随机数。
import random
print(random.randint(1,100))
输出:1-100间的随机数
55
另外,可以给导入的模块取别名,通过别名的方式调用模块中的函数。
import random as rd
print(rd.randint(1,100))
使用 from … import 导入
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。
from 模块名 import 函数/类/全局变量
这种方式导入的模块可以直接通过函数名调用。(以下的函数代指 模块中的函数/类/全局变量等)
# 导入
from random import randint, randrange
# 使用
print(randint(1,100))
优点:这种方式导入模块后可以不加模块名就可以使用,比较方便。
缺点:如果导入的函数名与当前文件中有重名情况,建议使用第一种导入方式。
通过这种方式导入的函数也可以取别名。
from random import randint as rt, randrange
print(rt(1,10))
另外,还可以通过 from random import *
把一个模块的所有内容全都导入到当前的命名空间。这种方式适用于在当前程序中大量的使用到模块中的内容时导入。如果只用很少的一部分内容时不建议这样导入,因为这样会占用一部分内存空间。
两种导入方式各有特点,根据实际情况选择导入方式即可。
导入规则
如果我们在写程序时,需要同时导入三种类型的模块,python 官方给我们的建议是:
- 先导入内建模块
- 再导入第三方模块
- 最后导入自定义模块
3、模块的安装
使用 pip 安装,pip 是通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
$ pip install package_name #安装
$ pip search package_name #查找
$ pip show package_name #查看已安装
$ pip uninstall package_name #卸载
可以通过 help 显示帮助命令。
由于某些原因安装可能会出现失败的情况,一般都是 timeout 超时。解决办法呢也很简单。这里给出几种建议:
- 手动设置超时时间
pip install --default-timeout=100 库名
- 指定国内镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名 #清华的大学的镜像
-i:指定镜像地址。 - 创建或修改pip.conf配置文件指定镜像地址
以上两种都是临时的,每次安装新命令都要手动输入一大串命令,但是我们也可以把这些信息写入 pip 的配置文件中,这样每次安装的时候就会方便很多。这里不做演示,网上有很多教程。
以下是几个常用国内高速镜像网址:
- 阿里云 http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 豆瓣(douban) http://pypi.douban.com/simple/
- 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
- 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
ps:windows 用户在 cmd 窗口下 执行该操作。步骤分别为组合键win + r打开运行窗口,输入 cmd
回车 进入cmd 命令窗口。如果提示 ‘pip’ 不是内部命令,检查是否把 pip 加入windows 系统环境变量中,具体步骤自行百度。
python学习笔记(五)——模块导入的更多相关文章
- python学习笔记五 模块上(基础篇)
模块学习 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- python学习笔记五 模块下(基础篇)
shevle 模块 扩展pickle模块... 1.潜在的陷进 >>> import shelve>>> s = shelve.open("nb" ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- python学习笔记:模块——自定义模块的3种导入方式
一.定义 模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.py文件的集合就是模块.如果不懂 ...
- python学习笔记_week5_模块
模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...
- Python学习笔记—itertools模块
这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较 ...
- Python学习笔记五
一. 递归 递归函数: def a (): print ("from b") b() def b(): print("from a ") a() a() 递推和 ...
- python学习笔记十——模块与函数
第五章 模块与函数 5.1 python程序的结构 函数+类->模块 模块+模块->包 函数+类+模块+包=Python pyth ...
- python学习笔记(八)-模块
大型python程序以模块和包的形式组织.python标准库中包含大量的模块.一个python文件就是一个模块.1.标准模块 python自带的,不需要你安装的2.第三方模块 需要安装,别人提供的. ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
随机推荐
- Weblogic补丁升级常见问题
转至:https://blog.csdn.net/weixin_44659716/article/details/106804177 常用企业级版本:Weblogic 11g(weblogic10.3 ...
- WebLogic服务器打补丁(11g/12c)
转至:https://segmentfault.com/a/1190000019059894 背景 2019年04月17日,Oracle发布新季度安全公告.该安全公告披露WebLogic服务器存在多个 ...
- C语言刷2数/3数/4数之和
15. 三数之和 /** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned ...
- JZ-019-顺时针打印矩阵
顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4 矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
- 【译】.NET 7 预览版 1 中的 ASP.NET Core 更新
原文 | Daniel Roth 翻译 | 郑子铭 .NET 7 预览版 1 现已推出!这是 .NET 下一个主要版本的第一个预览版,其中将包括使用 ASP.NET Core 进行 Web 开发的下一 ...
- Mock平台2-Java Spring Boot框架基础知识
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 认识Spring Boot 在N年前的大学时代想要开发一个Web服务使用的还是SSH框架(struts+spring+hibernate) ...
- tensorflow源码解析之framework-graph
目录 什么是graph 图构建辅助函数 graph_transfer_info 关系图 涉及的文件 迭代记录 1. 什么是graph graph是TF计算设计的载体,如果拿TF代码的执行和Java代码 ...
- OSPF协议原理及配置4-邻接关系的建立和LSDB同步
OSPF协议原理及配置4-邻接关系的建立和LSDB同步 进入ExStart状态后,广播和NBMA型网络要等待4倍的Hello时间,确定DR和BDR.然后建立邻接关系,并交互链路状态通告,以使用LS ...
- go1.18泛型的简单尝试
今天golang终于发布了1.18版本,这个版本最大的一个改变就是加入了泛型.虽然没有在beta版本的时候尝试泛型,但是由于在其他语言的泛型经验,入手泛型不是件难事~ 官方示例 Tutorial: G ...
- k8s集群关机后,如何解决 kubernetes 重启起不来的问题
如何解决 kubernetes 重启后,启来不来的问题 登录自己的Kubernetes测试集群时发现集群好像没有启动成功 运行 kubectl get pods --all -A ,报错如下. 第一反 ...