模块介绍

模块,是用一些代码实现的某个功能的代码集合。

类似与函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用,提供了代码的重用性和代码间的耦合。对于一个复杂的功能,可能需要多个函数才能完成(函数又可以放在不同的 .py 文件中),多个 .py 文件组成的代码集合就称为模块。

模块分为三种:

  • 自定义模块(自己写的功能)
  • 内置标准模块(又称为标准库,安装Python之后自带的模块)
  • 开源模块(别人写的模块,需要安装之后才可以使用)

开源模块

下载安装有两中方式:

1,使用系统的工具

yum

pip

apt-get

2,下载源代码

下载源码

解压源码

编译源码(python setup.py build)

安装源码(python setup.py install)

注意:

在使用源码安装时,需要使用到gcc编译和python开发环境,所以需要先安装

yum install gcc python-devel

apt-get install python-dev

模块安装成功之后会自动安装到 sys.path 中的某个目录,如:

~/python.x/site-packages/

x 代表python的版本

模块的导入

模块的导入方法

  1. import module
  2. from xxx.xxx.xxx.module import xx
  3. from xxx.xxx.xxx,module import xx as rename
  4. from xxx.xxx.xxx.module import *

说明:

1,第1种方法适用与内置模块或使用模块的代码文件(A)与模块文件(B)在同一个目录,比如:

内置模块

import os

自定义模块

在A.py中写

import B

2,第2,3,4种方法模块在别的目录下目录,在导入时使用 . (点)作为目录的分割

3,第3种方法适用于所需要调用的模块比较长或者难记,这个办法是给模块起一个别名

4,第4中方法使用于把目录下的所有模块都导入

注意:

sys.path 类似系统中的环境变量,在模块导入的时候会检测导入的模块是否存在于这些目录,如果存在就导入,如果不存在则会报错

如果想把模块所在的目录加入到 sys.path 中需要

import sys os

new_path= os.path.abspath('../')

sys.path.append(new_path)

Python之模块介绍的更多相关文章

  1. python multiprocessing模块 介绍

    一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_count\(\)查看),在python中大部分情况需要使用多进 ...

  2. Python day18模块介绍2(使用BASE_DIR修改临时path,os模块)

    1.BASE_DIR修改path(别人导入py项目时不会因为绝对路径无法解释) #sys修改环境变量 #使用BASE_DIR将绝对路径改为相对路径 import sys,os BASE_DIR=os. ...

  3. Python log 模块介绍

    刚用Python log模块写了一个例子,记录一下. import logging import logging.handlers import os from datetime import dat ...

  4. Python—time模块介绍

    time 模块 在平常的代码中,我们常常需要与时间打交道.在Python中,常用的与时间处理有关的模块就包括:time,datetime,下面来介绍time模块. 在开始之前,首先要说明几点: 一.在 ...

  5. python常用模块介绍

    关于if __name__ == "__main__": 若执行文件为bin,调用文件为cal: 若在执行文件bin中执行print(__name__) 输出:__main__ 当 ...

  6. Python os模块介绍

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...

  7. Python—sys模块介绍

    sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxi ...

  8. Python—os模块介绍

    OS模块 我们平时工作中很常用到的一个模块,通过os模块调用系统命令,获得路径,获取操作系统的类型等都是使用该模块.os 模块提供了很多允许你的程序与操作系统直接交互的功能 得到当前工作目录,即当前P ...

  9. Python—randonm模块介绍

    random是python产生伪随机数的模块 >>> random.randrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random ...

随机推荐

  1. ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?

    include "stdafx.h" #include<iostream> #include<vector> #include<math.h> ...

  2. Android 自定义View跑马灯效果(一)

    今天通过书籍重新复习了一遍自定义VIew,为了加强自己的学习,我把它写在博客里面,有兴趣的可以看一下,相互学习共同进步: 通过自定义一个跑马灯效果,来诠释一下简单的效果: 一.创建一个类继承View, ...

  3. 小程序WePY入门(一)

    全局安装或更新WePY命令行工具 npm install wepy-cli -g 在开发目录中生成Demo开发项目 wepy new myproject 切换至项目目录 cd myproject 开启 ...

  4. gridcontrol 之标题 GroupPanel设置 (标题设置,屏蔽右键)

    GroupPanel设置 例如gridcontrol显示标题:“gridcontrol小例子” gridView1.GroupPanelText="gridcontrol小例子"; ...

  5. 我的Java开发学习之旅------>Java经典排序算法之冒泡排序

    冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已 ...

  6. JS表自动取值赋值

    /* * * V1.0.0 表单自动取值.赋值插件 * 表单类型:text radio select-one checkbox textarea * 注意项: * 1.表单必须设置name属性 * 调 ...

  7. ubuntu 搭建 tomcat

    一.下载tomcat 先下载到本地,然后ftp上传到服务器 官方 Apache Tomcat 的下载 2 二.解压安装 先解压 tar zxvf apache-tomcat-7.0.64.tar.gz ...

  8. HDU - 4990 Reading comprehension 【矩阵快速幂】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4990 题意 初始的ans = 0 给出 n, m for i in 1 -> n 如果 i 为奇 ...

  9. 【Leetcode-easy】Reverse Integer

    思路:取绝对值,反转,并判断反转的结果是否大于最大整数,需要注意的细节:判断时需要这样:result > (Integer.MAX_VALUE - v) / 10 否则result * 10 + ...

  10. CSS相对|绝对(relative/absolute)定位

    1.破坏性和包裹性 position:absolute与float:left,两者有两大共性:包裹性,破坏性. 包裹性 包裹性换种说法就是让元素inline-block化,例如一个div标签默认宽度是 ...