python 1-1模块介绍和使用
1. 什么是模块
1.1 模块就是一系列功能的集合体
1.1.1 模块有三种来源
1.内置的模块
2.第三方的模块
3.自定义模块
1.1.2 模块的格式:
1.使用Python编写的.py文件
2.已被编译为共享库或DLL的C或C++扩展
3.把一系列模块组织到一起的文件夹
(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
4.使用C编写并链接到Python解释器的内置模块
2.为何要用模块
2.1 使用内置的或者第三方模块的好处是: 拿来主义,可以极大提升开发效率
2.2 使用自定义模块的好处是: 可以减少代码冗余(抽取我们自己程序中要公用的一些功能定义成模块,然后程序的各部分组建都去模块中调用共享的功能)
3.如何用模块
3.1 大前提: 一定要区分开谁是执行文件,谁是被导入模块
例如: 文件名spam.py, 模块名则是spam
import spam
首次导入模块发生了三件事:
1. 会产生一个模块的名称空间
2. 执行文件spam.py, 将执行过程中产生的名字都放到模块的名称空间中
3. 在当前执行文件的名称空间中拿到一个模块名, 该名字指向模块的名称空间
import spam
import spam
...
之后的导入,都是直接引用第一次导入的成果, 不会重新执行文件
在执行文件中访问模块名称空间中名字的语法: 模块名.名字
print(spam.x)
指名道姓地跟spam要名字x, 肯定不会与当前执行文件中的名字冲突
总结import导入模块: 在使用时必须加上前缀: 模块名.
优点: 指名道姓地向某一个名称空间要名字, 肯定不会与当前名称空间中的名字冲突
缺点: 但凡应用模块中的名字都需要加前缀, 不够简洁
from spam import * 代表从被导入模块中拿到所有名字(不推荐使用)
总结from...import...
优点: 使用时, 无需再加前缀,更简洁
缺点: 容易与当前名称空间中的名字冲突
python 1-1模块介绍和使用的更多相关文章
- Python中的模块介绍和使用
在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一 ...
- Python时间time模块介绍
一.明确时间元组 二.测试代码#!/usr/bin/env python # -- coding: utf-8 --' """ 时间模块,time的相关操作与测试 &qu ...
- Python 正则表达式——re模块介绍
Python 正则表达式 re 模块使 Python 语言拥有全部的正则表达式功能,re模块常用方法: re.match函数 re.match从字符串的起始位置匹配,如果起始位置匹配不成功,则matc ...
- python 爬虫 urllib模块介绍
一.urllib库 概念:urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urll ...
- python 中 urlparse 模块介绍
urlparse模块主要是用于解析url中的参数 对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路 ...
- python的json模块介绍
转载:https://blog.csdn.net/xsj_blog/article/details/51921664 对于数据传递方面,XML是一种选择,还有一种选择是JSON,它是一种轻量级的数据交 ...
- python 时间time模块介绍和应用
1.其中format_string 类型的时间和struct_time之间可以转换,timestamp时间戳可以和struct_time之间进行转化,但是时间戳和格式化时间是不能直接转换的. time ...
- Python时间calender模块介绍
获取某月日历 Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历: #!/usr/bin/python # -*- coding: UTF-8 -*- import calend ...
- python的subprocess模块介绍
一.subprocess以及常用的封装函数运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python ...
- python的tqdm模块介绍
https://www.jianshu.com/p/b27318efdb7b Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息用法:tqdm(iterator) ...
随机推荐
- echarts 实例demo 详细讲解
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> & ...
- 初学Linux应该注意的事项
相比于windows linux严格区分大小写 linux所有内容都是以文件形式保存 linux不靠扩展名区分文件类型(靠权限),linux下文件扩展名主要是方便管理员分类 linux所有的存储设备都 ...
- Python圈中的符号计算库-Sympy(转载)
<本文来自公众号“大邓带你玩python”,转载> import math math.sqrt(8) 2.8284271247461903 我们看看Python中结果 math.sqrt( ...
- 递推DP UVA 607 Scheduling Lectures
题目传送门 题意:教授给学生上课,有n个主题,每个主题有ti时间,上课有两个限制:1. 每个主题只能在一节课内讲完,不能分开在多节课:2. 必须按主题顺序讲,不能打乱.一节课L时间,如果提前下课了,按 ...
- DB2:在缓冲池 "1" 中当前没有任何页面可用。. SQLCODE=-1218, SQLSTATE=57011, DRIVER=3.61.75
服务器端DB2数据库最近频繁报错: 在缓冲池 , SQLSTATE=, DRIVER= 试验发现简单的查询SQL执行没有问题,复杂的SQL就会报上述错误. 百度发现是因为数据库bufferpool太小 ...
- Selenium2工作原理
Selenium 经历了两个版本,Selenium 1.0 和 Selenium 2.0,本文仅介绍Selenium2的原理,在Selenium 2.0 主推的是WebDriver,Selenium2 ...
- 外文翻译 《How we decide》赛场上的四分卫 第三节
本书导言翻译 本章第二节 1982年,一位名叫Elliot的病人走进了神经科学家Antonio Damasio的办公室.几个月之前,一个小的肿瘤在它的大脑中被切除,切除点与大脑额叶非常靠近.在手术之前 ...
- WPF学习08:MVVM 预备知识之COMMAND
WPF内建的COMMAND是GOF 提出的23种设计模式中,命令模式的实现. 本文是WPF学习07:MVVM 预备知识之数据绑定的后续,将说明实现COMMAND的三个重点:ICommand Comm ...
- Myeclipse 6.0代码
import java.util.*; import java.io.*; public class bbs { private static final String LL = "Deco ...
- 一个简单的公式——求小于N且与N互质的数的和
首先看一个简单的东西. 若$gcd(i,n)=1$,则有$gcd(n-i,n)=1$ 于是在小于$n$且与$n$互质的数中,$i$与$n-i$总是成对存在,且相加等于$n$. 考虑$i=n-i$的特殊 ...