A Byte of Python 笔记(6)模块
第8章 模块
用户在程序中定义一次函数而重用代码,如果用户想在其他程序中重用很多函数,可以通过使用模块的方式。
模块就是一个包含了所有用户定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以 .py 为扩展名。模块可以从其他程序 输入 以便利用它的功能。
使用 sys 模块
# -*- coding: utf-8 -*-
# Filename: using_sys.py import sys print 'The command line arguments are:'
for i in sys.argv:
print i print '\n\nThe PYTHONPATH is', sys.path, '\n'

以上使用 sys 模块,使用的是 import 语句。
sys 模块包含了与 python 解释器和它的环境有关的函数。
如何执行 import sys 语句:
1、在 sys.path 变量所列目录中寻找 sys.py 模块
2、找到 sys.py 模块,运行 sys.py 主块中的语句,用户可以使用该模块
注意:初始化过程仅在第一次输入模块的时候进行
模块变量通过点号指明,如:sys.argv,避免不同模块中同名变量的冲突
sys.argv 变量是一个 字符串 列表,包含了 命令行参数 的列表,使用命令行传递给你程序的参数。其中脚本名称总是 sys.argv 列表的第一个参数。此处,运行模块时执行命令被作为参数传递给程序,sys.argv = python d:\python\using_sys.py we are arguments
sys.path, 包含输入模块的目录名列表,与 PYTHONPATH 环境变量相同。用户可以直接输入位于当前目录的模块,否则要把模块放在 sys.path 的任一目录中。
字节编译的 .pyc 文件
字节编译的文件 .pyc 可以使输入模块更加快一些,与python 变换程序的中间状态有关。
字节编译文件 .pyc 与平台无关,常用于从其他程序输入该模块时。
from..import 语句
该语句用来在程序中直接使用某个模块的变量、函数等。。。。
通过使用 from sys import argv ,可以在程序中直接输入 argv 变量,不需要输入 sys.argv。
通过使用 from sys import * ,可以使用所有 sys 模块使用的名字
一般避免使用 from..import 而使用 import 语句,可以使程序易读,也可避免名称冲突。
模块的 __name__
当一个模块第一次输入时,该模块的主块被运行。假如只想程序本身被使用的时候运行主块,而被其他模块输入时不运行主块,可以通过模块的 __name__ (模块名称)属性完成。
# -*- coding: utf-8 -*-
# Filename: using_name.py if __name__ == '__main__':
print 'This program is being run by itself.'
else:
print 'I am being imported from another module'

每个Python模块都有它的__name__,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。
用户自定义模块
# -*- coding: utf-8 -*-
# Filename: mymodule.py def sayhi():
print 'Hi, this is mymodule speaking.' version = '0.1'
import 语法版本
# -*- coding: utf-8 -*-
# Filename: mymodule_demo.py import mymodule mymodule.sayhi()
print 'Version is', mymodule.version

from..import 语法版本
# -*- coding: utf-8 -*-
# Filename: mymodule_demo2.py from mymodule import sayhi, version sayhi()
print 'Vesion is', version

dir() 函数
内建函数 dir() 可以列出模块定义的标识符(函数、类、变量)。
当用户为 dir() 提供一个模块名时,返回模块定义的名称列表。如果不提供参数,返回当前模块中定义的名称列表。

首先,在输入的 sys 模块上使用dir,它包含一个庞大的属性列表。
然后,不给 dir 函数传递参数而使用它——默认地,它返回当前模块的属性列表。
注意,输入的模块同样是列表的一部分。
del 语句——运行后被用来 删除 一个变量/名称。
概述:模块的用处在于它能为你在其他程序中重用提供服务和功能。附带的标准库就是这样一组模块。
A Byte of Python 笔记(6)模块的更多相关文章
- A Byte of Python 笔记(12)python 标准库:sys、os,更多内容
		
第14章 python 标准库 Python标准库是随Python附带安装的,它包含大量极其有用的模块. sys 模块 sys 模块包含系统对应的功能.如 sys.argv 列表包含命令行参数. # ...
 - A Byte of Python 笔记(10)输入/输出:文件和储存器
		
第12章 输入/输出 大多数情况下,我们需要程序与用户交互.从用户得到输入,然后打印一些结果. 可以分别使用 raw_input 和 print 语句来完成这些功能.对于输出,可以使用多种多样的 s ...
 - A Byte of Python 笔记(9) 面向对象编程
		
第11章 面向对象编程 面向过程:根据操作数据的函数或语句块来设计程序. 面向对象(OOP, object-oriented programming):把数据和功能结合起来,用对象包裹组织程序. 类 ...
 - A Byte of Python 笔记(5)函数:定义、形参、局部变量、默认参数、关键参数
		
第7章 函数 函数是重要的程序段.它们允许你给一块语句一个名称,然后你可以在程序的任何地方使用这个名称任意多次地运行这个语句块.这被称为 调用 函数. 定义函数 函数通过 def 关键字定义.def ...
 - python笔记25-sys模块
		
import sys#sys.argv命令行参数List,第一个元素是程序本身路径# sys.exit('xxxxx')#退出程序,正常退出时exit(0)# print(sys.version) # ...
 - python笔记6 模块与包 程序开发规范 包 re sys time os模块
		
模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他 ...
 - A Byte of Python 笔记(3)运算符和表达式
		
第5章 运算符与表达式 大多数语句(逻辑行)都包含表达式.例子,如 2 + 3.一个表达式可以分解为运算符和操作数. 运算符 运算符 名称 说明 例子 + 加 两个对象相加 3 + 5得到8.'a' ...
 - A Byte of Python 笔记(11)异常:try..except、try..finally
		
第13章 异常 当你的程序中出现某些 异常的 状况的时候,异常就发生了. 错误 假如我们把 print 误拼为 Print,注意大写,这样 Python 会 引发 一个语法错误. 有一个SyntaxE ...
 - A Byte of Python 笔记(8)
		
第10章 解决问题——编写一个 python 脚本 程序功能:为所有重要文件创建备份 设计: 1.需要备份的文件和目录由一个列表指定 2.备份应该保存在主备份目录中 3.文件备份称一个 zip 文件 ...
 
随机推荐
- PHP 魔术方法之__set__get__unset,__isset,__call
			
<?php /*** 魔术方法: 是指某些情况下,会自动调用的方法,称为魔术方法 PHP面向对象中,提供了这几个魔术方法, 他们的特点 都是以双下划线__开头的 __construct(), _ ...
 - 茴香豆的第五种写法---设置ExpandableListView系统自带图标按下效果
			
1 编写groupindicator_selector.xml如下: <?xml version="1.0" encoding="utf-8"?> ...
 - html5 绘制集合图形
			
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
 - 你应该知道CSS选择器技巧
			
什么是:before和:after? 该如何使用他们? :before是css中的一种伪元素,可用于在某个元素之前插入某些内容. :after是css中的一种伪元素,可用于在某个元素之后插入某些内容. ...
 - swipe.js文档及用法
			
最近的一个项目中使用到了swipe.js这个插件 感觉非常的好用的 官方网站 http://swipejs.com/ https://github.com/bradbirdsall/Swipe 简介 ...
 - Oracle分析函数之开窗子句-即WINDOWING子句
			
Oracle的分析函数,对我们进行统计有很大的帮助,可以避免一些子查询等操作,在统计中,我们对开窗函数的接触较少,下面主要介绍下开窗函数的使用; http://www.itpub.net/thread ...
 - socket中的option
			
/// Set an option on the socket. /** * This function is used to set an option on the socket. * * @pa ...
 - Codility 1: equilibrium
			
提交了格灵深瞳的简历后,收到需要先进行一个简单的技术测试的通知,临时抱佛脚,先刷刷上面几道题: 题目要求 A zero-indexed array A consisting of N integers ...
 - C# 后台调用前台JS
			
1.需要添加微软的类库 Interop.MSScriptControl.dll 2. var path = Path.GetFullPath("../../javascript/youzi ...
 - HDU2955-Robberies
			
描述: The aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guys usual ...