码迷,mamicode.com
首页 > 编程语言 > 详细

Python 模块学习

时间:2015-08-05 10:49:04      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:python   python模块   python基础   

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


模块表现形式为以.py结尾的代码文件


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


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


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


Python程序架构

一个python程序通常包括一个顶层程序文件和其他的模块文件(0个,1个或多个)

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

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

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

技术分享技术分享

模块的执行环境

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


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


如果打算以多个程序文件来组织你的Python程序,只有一个文件可以作为顶层执行文件,可以在顶层包含很多程序控制流,其他被导入的文件,都应该只包含类、变量、函数。

技术分享

导入模块

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

导入指定模块,会生成一个以模块名命名的名称空间。


impor语句导入模块:

import module

导入时可以给名称空间指定一个别名,如果使用别名,就只能使用别名调用了。

import module as module_alias

from-import 语句:

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

from module import name1[,name2,...]

技术分享

import 和 from 都是隐性赋值语句

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

from将一个或多个变量名赋值给导入此模块的模块中的同名对象,如果导入的变量和本地变量重名,则会覆盖本地的。

import的工作机制


1、寻找模块文件,2、编译成字节码,3、执行模块的代码来创建其所定义的对象。注意:模块只有在第一次导入时才会执行如上步骤; 

后续的导入操作只不过是提取内存中已加载的模块对象,reload()可用于重新加载模块;


模块搜索

Python解释器在import模块时必须先找到对应的模块文件

程序的主目录

Python path目录

标准链接库目录

任何.pth文件的内容

这四个组件组合起来即为sys.path所包含的路径,而Python会选择在搜索路径中的第一个符合导入文件名的文件。

import sys

sys.path


sys.path.append(‘/tmp/python3/lib‘) 修改sys.path,添加python库的搜索路径。


添加模块文件的测试代码











本文出自 “突破舒适区” 博客,转载请与作者联系!

Python 模块学习

标签:python   python模块   python基础   

原文地址:http://tchuairen.blog.51cto.com/3848118/1681757

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!