Python 八、Python模块

一、python文件概述

1、python模块概述

可以将代码量较大的程序分割成多个有组织的、彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块

模块在物理形势上表现为以.py结尾的代码文件

一个文件被看作一个独立的模块,一个模块也可以被看作是一个文件

模块的文件名就是模块的名字加上扩展名(.py)

每个模块都有自己的名称空间

python允许导入其它模块以实现代码重用,从而也实现了将独立的代码文件组织成更大的程序系统

python中,模块也是对象

在一个模块的顶层定义的所有变量都在被导入时成为了被导入模块的属性

2、python程序架构 

 一个Python程序通常包含一个顶层程序文件和其它的模块文件(0个,1个或多个)

顶层文件:包含了程序的主要控制流程

模块文件:为顶层文件或其它模块提供各种功能性组件

模块首次导入(或重载)时,python会立即执行模块文件的顶层程序代码(不在函数内的代码),而位于函数主体内的代码直到函数被调用后才会执行

3、模块的执行环境

模块是被导入的,但模块也可以导入和使用其它模块,这些模块可以用python或其它编程语言写成

模块可内含变量,函数以及类来进行其工作,而函数和类可以包含变量和其它元素

4、导入模块

在导入模块时只能使用模块名,而不能使用带.py后缀的模块文件名

import语句:

导入指定的整个模块,包括生成一个以模块名命名的名称空间

import module1[,module2...]

建议一个import语句只导入一个模块

import module(原模块名) as module_alias(自定义模块名)

from-import语句:

常用于只导入指定模块的部分属性至当前名称空间

from module import name1[,name2...]

import和from-import是赋值语句

import和from是可执行语句,类似于def,因此,他们可以嵌套在if测试中,出现于def中等等

python执行到这些语句时才会对其解析,这意味着,所有来自模块的属性仅在import执行后才能使用

import和from都是隐性赋值语句

import将整个模块对象赋值给一个变量名

from将一个或多个变量名赋值给导入此模块的模块中同名对象

模块就是名称空间

模块的名称空间可以通过属性__dict__或dir(M)来获取

模块属性可通过点号(.)运算符获取,格式为M.attr

模块是一个独立的作用域(本地变量就是全局变量)

时间: 2024-10-19 13:45:19

Python 八、Python模块的相关文章

python之基础篇(八)——模块与包

防伪码:忘情公子著 python中的模块 将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块. 模块在物理形式上表现为以.py结尾的代码文件: 一个文件被看作一个独立的模块,一个模块也可以被看作是一个文件 模块的文件名就是模块的名字加上扩展名.py 每个模块都有自己的名称空间 python允许"导入"其它模块以实现代码重用,从而也实现了将独立的代码文件组织成更大的程序系统: 在python中,模块也是对象 在一个模块的顶层定义的

Python 全栈开发八 日志模块

日志是一种可以追踪某些软件运行时所发生事件的方法.软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情.一个事件可以用一个可包含可选变量数据的消息来描述.此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level). 1.日志的作用 通过log的分析,可以方便用户了解系统或软件.应用的运行情况:如果你的应用log足够丰富,也可以分析以往用户的操作行为.类型喜好.地域分布或其他更多信息:如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状

Python大数据处理模块Pandas

Python大数据处理模块Pandas [这篇转载自CSDNchengxuyuanyonghu的博客:http://blog.csdn.net/chengxuyuanyonghu/article/details/54956207] 目录 读取数据 索引 选择数据 简单运算 import pandas as pd read_csv to_csv 数据框操作 一            创建对象 二            查看数据 三            选择 四            缺失值处理

【python基础】模块&包

一.模块 1.所谓模块, 就是指封装好一定功能的.py文件.如果想要使用某个模块,直接导入就行了. 2.random.py 模块名就是文件名(不包含后缀) 3.模块名的命名规则,遵循标识符的命名规则.变量,函数名,类名,模块名 二.模块的作用 1.程序开发文件比较大,都放在同一个文件中,管理维护非常不方便.拆成多个模块进行管理,方便维护. 2.模块可以增加程序的复用率. 三.模块的分类 1.程序员封装 2.python自带的模块; random, time, datetime, sys, os.

Python中subprocess 模块 创建并运行一个进程

python的subprocess模块,看到官方声明里说要尽力避免使用shell=True这个参数,于是测试了一下: from subprocess import call import shlex cmd = "cat test.txt; rm test.txt" call(cmd, shell=True) 运行之后: 1:打开并浏览了test.txt文件 2:删除了test.txt文件 from subprocess import call import shlex cmd = &

Python高手之路【七】python基础之模块

本节大纲 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 1:模块介绍 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以

python时间处理模块 datetime time模块 deltetime模块

1 首先介绍time模块,因为简单 python 自带模块 本人使用time模块,只使用两个函数 time函数和sleep函数 import time a.     time.time()   函数 返回unix时间  常用作两个时间差的计算 b.     time.sleep()  休眠多久,精度为子秒(subsecond) In [90]: t1 = time.time() In [91]: t1 Out[91]: 1461400225.877932 In [92]: time.sleep(

python安装mysqldb模块

今天在阿里云一台新的服务器部署程序后台,发现上面的python缺少MySQLDB 模块,记录安装过程. 首先django程序,运行 python manage.py sycdb 报错: ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb MySQLdb模块的包名字叫mysql-python,于是pip安装之,(关于pip,可以参考这篇文章) 运行: pip install mysql-python

Python 利用pytesser模块识别图像文字

使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the Tesseract engine from Google.是谷歌OCR开源项目的一个模块,可将图片中的文字转换成文本(主要是英文). 1.pytesser安装 使用设备:win8 64位 PyTesser使用Tesseract OCR引擎,将图像转换到可接受的格式,然后执行tesseract提取出文