模块是一个包含所有你定义的函数和变量的文件,其后缀名是.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 超时。解决办法呢也很简单。这里给出几种建议:

  1. 手动设置超时时间

    pip install --default-timeout=100 库名
  2. 指定国内镜像源

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名 #清华的大学的镜像

    -i:指定镜像地址。
  3. 创建或修改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学习笔记(五)——模块导入的更多相关文章

  1. python学习笔记五 模块上(基础篇)

    模块学习 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

  2. python学习笔记五 模块下(基础篇)

    shevle 模块 扩展pickle模块... 1.潜在的陷进 >>> import shelve>>> s = shelve.open("nb" ...

  3. Python学习笔记之模块与包

    一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...

  4. python学习笔记:模块——自定义模块的3种导入方式

    一.定义 模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.py文件的集合就是模块.如果不懂 ...

  5. python学习笔记_week5_模块

    模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...

  6. Python学习笔记—itertools模块

    这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较 ...

  7. Python学习笔记五

    一. 递归 递归函数: def a (): print ("from b") b() def b(): print("from a ") a() a() 递推和 ...

  8. python学习笔记十——模块与函数

    第五章 模块与函数 5.1 python程序的结构 函数+类->模块              模块+模块->包                 函数+类+模块+包=Python pyth ...

  9. python学习笔记(八)-模块

    大型python程序以模块和包的形式组织.python标准库中包含大量的模块.一个python文件就是一个模块.1.标准模块 python自带的,不需要你安装的2.第三方模块 需要安装,别人提供的. ...

  10. Python学习笔记-常用模块

    1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...

随机推荐

  1. Qt:使用SqlQuery进行查询时size总是-1

    原因:SQL语句没有符合格式,特别是在换行写一个SQL语句时,不同行之间没有写空格

  2. k8s-coredns 介绍和部署

    1.k8s-coredns 实现了集群内部通过服务名进行可以访问.添加服务后,会自动添加一条解析记录 cat /etc/resolv.conf nameserver 10.0.0.2 search k ...

  3. .Net/C#分库分表高性能O(1)瀑布流分页

    .Net/C#分库分表高性能O(1)瀑布流分页 框架介绍 依照惯例首先介绍本期主角:ShardingCore 一款ef-core下高性能.轻量级针对分表分库读写分离的解决方案,具有零依赖.零学习成本. ...

  4. 【spring源码系列】之【Bean的销毁】

    以"冬奥之光,多彩冰灯"为主题的第四十一届全国专业冰雕比赛在冰城哈尔滨市进入第二天,60名冰雕高手在哈尔滨冰灯艺术游园会园区展开激烈的竞技比拼. 冰雕艺术 1. 概述 Bean的销 ...

  5. Ajax的疑难杂种详解

    跨域问题 如图所示,这是通过jquery封装的ajax请求了一个本地的php文件(无框架),console提示CORS策略已阻止"来自来源"的"null":请求 ...

  6. C++_Leecode1 两数之和

    一.题目介绍 1.题目描述 ->给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标. ->你可以假设每种输入只会对应一个答 ...

  7. Xmake 和 C/C++ 包管理

    Xmake 是一个基于 Lua 的轻量级跨平台构建工具,关于 Xmake 与构建系统的介绍,我们已经在之前的文章中做了详细的介绍:C/C++ 构建系统,我用 xmake. 如果大家已经对 Xmake ...

  8. 禁用 Windows 共享服务,释放 445 端口

    禁用 Windows 共享服务,释放 445 端口 转载自:https://blog.csdn.net/liu857279611/article/details/71786068   在 Window ...

  9. mysql 锁表

    mysql 查看锁表解锁-- 查看那些表锁到了show OPEN TABLES where In_use > 0;-- 查看进程号show processlist;--删除进程 kill 108 ...

  10. Java基础——方法重写

    什么是方法重写? 子类中出现和父类中完全一样的方法声明 什么时候可以进行方法重写? 在子类需要父类的功能的同时,功能主体子类有自己的特有内容时,可以重写,一面沿袭了父类的功能一面又定义了子类特有的内容 ...