Python之模块介绍
模块介绍
模块,是用一些代码实现的某个功能的代码集合。
类似与函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用,提供了代码的重用性和代码间的耦合。对于一个复杂的功能,可能需要多个函数才能完成(函数又可以放在不同的 .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的版本
模块的导入
模块的导入方法
- import module
- from xxx.xxx.xxx.module import xx
- from xxx.xxx.xxx,module import xx as rename
- 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之模块介绍的更多相关文章
- python multiprocessing模块 介绍
一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_count\(\)查看),在python中大部分情况需要使用多进 ...
- Python day18模块介绍2(使用BASE_DIR修改临时path,os模块)
1.BASE_DIR修改path(别人导入py项目时不会因为绝对路径无法解释) #sys修改环境变量 #使用BASE_DIR将绝对路径改为相对路径 import sys,os BASE_DIR=os. ...
- Python log 模块介绍
刚用Python log模块写了一个例子,记录一下. import logging import logging.handlers import os from datetime import dat ...
- Python—time模块介绍
time 模块 在平常的代码中,我们常常需要与时间打交道.在Python中,常用的与时间处理有关的模块就包括:time,datetime,下面来介绍time模块. 在开始之前,首先要说明几点: 一.在 ...
- python常用模块介绍
关于if __name__ == "__main__": 若执行文件为bin,调用文件为cal: 若在执行文件bin中执行print(__name__) 输出:__main__ 当 ...
- Python os模块介绍
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...
- Python—sys模块介绍
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxi ...
- Python—os模块介绍
OS模块 我们平时工作中很常用到的一个模块,通过os模块调用系统命令,获得路径,获取操作系统的类型等都是使用该模块.os 模块提供了很多允许你的程序与操作系统直接交互的功能 得到当前工作目录,即当前P ...
- Python—randonm模块介绍
random是python产生伪随机数的模块 >>> random.randrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random ...
随机推荐
- A和B是好友,他们经常在空闲时间聊天,A的空闲时间为[a1 ,b1 ],[a2 ,b2 ]..[ap ,bp ]。B的空闲时间是[c1 +t,d1 +t]..[cq +t,dq +t],这里t为B的起床时间。这些时间包括了边界点。B的起床时间为[l,r]的一个时刻。若一个起床时间能使两人在任意时刻聊天,那么这个时间就是合适的,问有多少个合适的起床时间?
// ConsoleApplication5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<vector> ...
- 初识vue-01
一.属性和方法 vue自定义的一些数据和方法需要绑定到实例的不同属性上面去例如数据都要绑定要data属性,方法都要绑定到methods方法实例上的data和methods里面的key值会自动挂载到vu ...
- 微信小程序页面之间的跳转
一.使用标签跳转 index.wxml: 在index.wxml页面添加一个<navigator>元素,在元素里面使用属性url就可以 二. ...
- android菜鸟学习笔记9----Activity(二)
关于Activity的生命周期: 下面是Activity整个生命周期中,状态发生变化时所回调的方法,它们对应着Activity完整的生命过程. void onCreate(Bundle savedI ...
- 九度OJ 1035:找出直系亲属 (二叉树、递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2380 解决:934 题目描述: 如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如果A,B是C的(外) ...
- json 数据返回解密
http://www.cnhan.com/shantui//dynamic/get/data/allCompanyInfoByCompCode.json?compCode=6SU5YCJ <sc ...
- iOS 流布局 UICollectionView使用(简单使用)
简介 UICollectionView是iOS6之后引入的一个新的UI控件,它和UITableView有着诸多的相似之处,其中许多代理方法都十分类似.简单来说,UICollectionView是比UI ...
- .net编程扫盲(*)
http://www.cnblogs.com/edisonchou/p/4787775.html
- Spring Aop切点
切点用于准确定位应该在什么地方应用切面的通知.通知和切点是切面的最基本的元素.在Spring AOP中要使用AspectJ的切点表达式来定义切点.下面我们列出Spring AOP所支持的AspectJ ...
- Java基础教程:多线程基础(2)——线程间的通信
Java基础教程:多线程基础(2)——线程间的通信 使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督. 线程间的通信 ...