我们知道使用函数不仅减轻了工作量,而且使代码更加简洁,更加的易于维护。但如果在另
一个文件中,我们希望使用上一个文件中定义的某个函数,我们应该怎么办呢?我们需要重
新将上一个函数再次实现一遍吗?而且,当我们在实现一个很复杂的功能时,即使将此功能
分解成各个更小的函数,所需要的代码依旧庞大,导致整个文件不易维护。那么是否有更好
实现方式呢?
答案当然是有,我们可以将不同的函数分类,分别放入不同的 .py文件中,在需要时使用。
在很多编程语言中都使用此方法,只是叫法不同。
在python中每个此类的 .py文件都叫做模块Module。
使用模块的好处与使用函数类似,使代码更加简洁,更加易于维护。而Python的一大优点就
是拥有庞大的第三方模块,它们提供了很多强大的功能,而我们在需要这些功能时,只需要
导入这些模块就可以直接使用,而不必自己去实现,减轻了开发时的工作量。
而为了避免各个模块之间的命名冲突,我们引入包Package的概念,将各个模块分类放入各个
包中,按目录来组织各个模块。如:将模块 temp.py 放入包 Test ,此时模块 temp 的名字
就变成了 Test.temp

如何安装一个包?

在使用Package之前,我们需要保证已经安装了此Package,在Python3中,安装Package是使
用pip3,具体语法如下:
pip3 install 包名

安装完成后,我们就可以导入第三方包并使用它们,方法如下:
import Name           
导入包 Name,并通过 Name.sth 来调用Name中的函数或变量
import Name as Mn     
导入包 Name,并为其设置一个别名为 Mn
注意:此时,我们中可以用 Mn.sth 来调用Name中的函数或变量
有时我们只需要包中的某个功能,我们可以仅仅导入此功能而不必导入整个包
form Name import sth
from Name import sth as STH

Python 模块的安装与使用的更多相关文章

  1. python开发_常用的python模块及安装方法

    adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctype ...

  2. 常用的python模块及安装方法

    adodb:我们领导推荐的数据库连接组件 bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctyp ...

  3. Python 模块chardet安装过程(windows环境)

    最近需要一个txt文件的批量转码功能,在网上找到一段批量处理java源文件的py程序如下: #-*- coding: utf-8 -*- import codecs import os import ...

  4. Python 模块chardet安装 setup.py

    http://pypi.python.org/pypi/chardet#downloads 下载chardet-2.*.*.tar.gz:解压到site-package文件夹, Python及其一些模 ...

  5. python模块的安装

    1.下载所需模块 2.解压到一个目录 3.window下打开cmd 4.切换到模块setup.py目录 5.执行python setup.py install安装 前提是安装了python,并且配置了 ...

  6. Python模块如何安装 并确认模块已经安装好?

    看自己有没有安装好,最简单的办法在可以再控制台下: C:\Users\sony>python Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC ...

  7. python模块一键安装

    利用bat文件 在不懂电脑的小白电脑上一键安装你python环境所需要的模块(你想让她一个个安装,你会疯的) 先新建一个txt文件,把你需要安装的模块和版本号写进去: 然后再新建一个txt文件 然后把 ...

  8. python模块 mysql-python安装(在ubuntu系统下)

    直接运行如下命令 sudo pip install MySQL-python 报如下错误 xxx@ubuntu:~$ sudo pip install MySQL-python Downloading ...

  9. ubuntu 下 python模块 mysql-python安装(转)

    原文:http://www.cnblogs.com/51kata/p/5406468.html 直接运行如下命令 sudo pip install MySQL-python 报如下错误 xxx@ubu ...

随机推荐

  1. Django之url上的include,URL命名和反向解析,命名空间

    include其他的URLconfs   #At any point, your urlpatterns can “include” other URLconf modules. This #esse ...

  2. 爆炸几何之 CCPC网络赛 I - The Designer (笛卡尔定理)

    本文版权归BobHuang和博客园共有,不得转载.如想转载,请联系作者,并注明出处.   Nowadays, little hahahaha got a problem from his teache ...

  3. 【软考5】解释型 or 编译型

    导读:在上篇博客中,我们了解到,目前的编码语言经过不断的发展,已经经历了机器语言--汇编语言--高级语言的过程.虽然我们的编码语言在不停的升级,但作为计算机来说,它始终是一个只能理解0和1构成的机器语 ...

  4. POJ 2106-Boolean Expressions,双栈运用类似表达式求值!

    Boolean Expressions 首先声明此题后台可能极水(毕竟这种数据不好造!).昨天写了一天却总是找不到bug,讨论区各种数据都过了,甚至怀疑输入有问题,但看到gets也可以过,难道是思路错 ...

  5. USACO Hamming Codes

    题目大意:求n个两两hamming距离大于等于d的序列,每个元素是一个b bit的数 思路:仍然暴力大法好 /*{ ID:a4298442 PROB:hamming LANG:C++ } */ #in ...

  6. Spring-IOC源码解读2-容器的初始化过程

    1. IOC容器的初始化过程:IOC容器的初始化由refresh()方法启动,这个启动包括:BeanDifinition的Resource定位,加载和注册三个过程.初始化的过程不包含Bean依赖注入的 ...

  7. Vxlan简介

    1.为什么需要Vxlan 1.什么是VXLAN VXLAN(Virtual eXtensible LAN可扩展虚拟局域网),是一种mac in UDP技术.传统的二层帧被封装到了UDP的报文中,通过U ...

  8. 【CF659F】Polycarp and Hay(并查集,bfs)

    题意: 构造一个矩阵,使得: 矩阵所有格子中数字都小于等于原矩阵,并且至少有一个元素和原矩阵相等, 构造的矩阵除了0以外的数字必须联通并且相等,矩阵中元素之和为K. n,m<=1e3,1< ...

  9. ci框架——数据库(增删改查)

    1:配置数据库(application/config/database.php)修改 $db['default'] = array( 'dsn' => '', 'hostname' => ...

  10. Day 9 Linux samba & ngnix

    (摘) Samba服务 一.Samba简介  Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服 ...