模块和包

大家都知道,在计算机程序开发的过程中,随着程序代码越写越多,这样代码就会越不容易维护。

有时候为了好维护代码,把不同功能的函数放到不同的xx.py文件中。

在python中,一个.py文件就称为一个模块。

使用模块有什么好处?

1、提供代码可维护性。

2、可以避免函数名和变量名冲突。如果两个相同的函数名在两个模块中,直接引用的时候,可以直接显示调用xx.function即可。

但是如果不同的人编写的模块名又是相同的怎么办?为了解决模块名相同,Python又引用包的概念。

在python中,一个包代码的意思就是一个文件夹。如果一个文件夹需要被定义为一个包,则文件夹里面必须包含__init__.py这个文件。

举个例子:

定义了一个package_test的包,具有math模块(python内置也有math模块)。

那么要引用上述math模块时,则

import package_test.math

导入模块

导入系统模块,关键字为import.

import math

1.有时候也希望只导入math模块的一个函数,不要求导入全部函数

from math import sin,cos

2.如果存在两个模块函数名相同,则 模块.函数名() 显示调用

import math,mylog
print math.log(5)
print mylog.log(5,'default')

3.还可以通过给函数起‘别名‘的方式避免函数名冲突

from math import log
from mylog import log as logger
print log(5)
print logger(5,'default')

使用__future__

目前python已经有3.x版本了,如果要在就版本python2.7.x版本引用python3.x的话,就要使用__future__

>>> 10/3
3

python 2.7.x版本,除法得到的是整数。

而python 3.x版本。则

>>> 10/3
3.3333333333333335 >>>10//3
3

旧版本引用新版本的如上特性,则

>>> from __future__ import division
>>> 10/3
3.3333333333333335

安装第三方模块

毕竟python内置只是一些简单的模块。如果要引用一些高级的模块,要先进行安装。

目前安装第三方模块比较常用的是pip工具。

打开命令提示符:输入pip,然后pip install + 模块名(example:pip install Pillow)

导入

>>>from PIL import Image

小结:主要讲解模块和包的概念,及其如何导入模块,安装第三方模块,__future__的作用。

python学习第十三天 -模块和包的更多相关文章

  1. python学习笔记13(模块、包)

    在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块. 模块文件以.py后缀结 ...

  2. Python学习(十一) —— 模块和包

    一.模块 一个模块就是一个包含了python定义和声名的文件,文件名就是模块名加上.py后缀. import加载的模块分为四个通用类别: 1.使用python编写的代码(.py文件) 2.已被编译为共 ...

  3. Python学习之路12☞模块与包

    一 模块 1.1 什么是模块? 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 1.2 为何要使用模块? 如果你退出python解释器然后重新进入,那么你之前 ...

  4. python学习笔记五:模块和包

    一.模块用import导入 cal.py: #!/usr/bin/python def add(x,y): return x+y if __name__ == '__main__': print ad ...

  5. Python学习(六)模块 —— 包

    Python 包 包 定义 为了组织好模块,会将多个模块分为包.Python 处理包也是相当方便的.简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件. 常见的包结构如下:

  6. python学习日记(常用模块)

    模块概念 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代 ...

  7. 【Python学习之九】模块

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.模块的使用和安装模块和C语言中的头文件以及Ja ...

  8. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  9. python 学习笔记十三 JQuery(进阶篇)

    jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 安装jQuery 有两个版本的 jQuery 可供下载: Production versio ...

随机推荐

  1. [翻译]只为图片使用IMG标签(Use IMG tags only for Images)

    原文地址:Use IMG tags only for Images 首先,补充一些背景知识. web开发人员经常通过在主页预加载(预缓存)将来的页面所用到的一些资源的方式来优化网站的性能.常用的手段是 ...

  2. [LeetCode 119] - 杨辉三角形II(Pascal's Triangle II)

    问题 给出一个索引k,返回杨辉三角形的第k行. 例如,给出k = 3,返回[1, 3, 3, 1] 注意: 你可以优化你的算法使之只使用O(k)的额外空间吗? 初始思路 首先来复习复习杨辉三角形的性质 ...

  3. Android系统的进程分类

    1.前台进程:即当前正在前台运行的进程,说明用户当前正在与通过该进程与系统进行交互,所以该进程为最重要的进程,除非系统的内容已经到不堪重负的情况,否则系统是不会将改进程终止的.2.可见进程:一般还是显 ...

  4. sigaction 用法实例

    sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作). 他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该 ...

  5. android仿京东、淘宝商品详情页上拉查看详情

    话不多说,直接上干货,基本就是一个scrollview中嵌套两个scrollview或者webview;关键点事处理好子scrollview和父scrollview的触摸.滑动事件已达到想要的效果.大 ...

  6. 九度oj 1482:玛雅人的密码

    题意:输入一个长度为n(2<=n<=13)的字符串(所有字符为'0','1'或'2'),通过交换相邻的两个字符,至少要交换多少次才能处出现字串"2012",输出这个值, ...

  7. 2017年开年的第一次比较大的安全事件: MongoDB “赎金事件”,如何看待互联网安全问题

    今天上午(2017年1月7日),我的微信群中同时出现了两个MongoDB被黑掉要赎金的情况,于是在调查过程中,发现了这个事件.这个事件应该是2017年开年的第一次比较大的安全事件吧,发现国内居然没有什 ...

  8. Java随机数生产算法

    java提供了Math.random()函数,返回一个double类型的随机数,也有util包里的Random类,可以生成double,int,float,long,bytes等随机数. 但有些业务需 ...

  9. 《Effective C++ 》学习笔记——条款11

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  10. 经常使用ARM汇编指令

    一面学习,一面总结,一面记录. 以下是整理在网上找到的一些资料,简单整理记录一下,方便以后查阅. ARM处理器的指令集能够分为跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.载入/存储指令. ...