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 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
随机推荐
- JavaWeb-网络编程
Java网络编程 推荐阅读: 计算机网络:https://www.cnblogs.com/zwtblog/tag/计算机网络/ 计算机网络基础 利用通信线路和通信设备,将地理位置不同的.功能独立的多台 ...
- ROS入门介绍
1.ROS版本介绍 ROS版本:(已经推出数十个版本) 2013 ------> Hydro 2014 ------> Indigo (对应Ubuntu14.04) (现在已经基本废弃) ...
- PromQL全解析
PromQL(Prometheus Query Language)为Prometheus tsdb的查询语言.是结合grafana进行数据展示和告警规则的配置的关键部分. 本文默认您已了解Promet ...
- VirtualBox虚拟机--安装新系统
问题概述:在VirtualBox虚拟机中使用ISO镜像文件安装新系统. 继在本机系统上学习Python把系统搞坏掉以后,总结教训试新东西还是先在虚拟机上练手. 找同事拷了一个win10系统的ISO镜像 ...
- 『现学现忘』Docker基础 — 12、通过RPM软件包方式安装Docker
CentOS环境下的Docker官方推荐的三种安装方式 yum安装方式 本地RPM安装方式 脚本安装方式 目录 1.下载Docker的RPM安装包 2.安装Docker 3.通过RPM安装包安装Doc ...
- php 生成唯一订单号5种方法
第一种 private function doCreateOrderNumber($time){ $i=1; $dd = date('Ymd',$time); $aa = 'OH'.$dd; $res ...
- MySQL8.0降级安装5.7
本文旨在自我学习使用,如有任何疑问请及时联系博主 前言 基于OpenHarmony的FA数字管家服务端 默认情况下,Ubuntu20.04安装MySQL的版本为8.0.但8.0更加严格的加密规则,使得 ...
- 最长公共子串(DP)
DP基础_最长公共子串 Description 两个序列的最长公共子串,这个子串要求在序列中是连续的.如:"bab"和"caba" (可以看出来最长公共子串是& ...
- kubernetes修改ingress默认端口
kubectl edit daemonset nginx-ingress-controller -n ingress-nginx containers: - args: - /nginx-ingres ...
- 使用MariaDB backup恢复主从
安装 yum install MariaDB-backup 备份命令 工具需要直接操作数据目录,需要在数据库服务器上执行 mariabackup --backup --target-dir=/data ...