第五篇:模块

定义模块

一、模块基本概念

1、模块是从逻辑上组织python代码的形式

2、当代码量变得相当大的时候,最好把代码分成一些有

3、组织的代码段,前提是保证它们的彼此交互

4、这些代码片段相互间有一定的联系,可能是一个包含数据成员和方法的类,也可能是一组相关但彼此独立的操作函数

二、创建模块

1、模块物理层面上组织模块的方法是文件,每一个以.py作为结尾的python文件都是一个模块

2、模块名称切记不要与系统中已存在的模块重名

3、模块文件名字去掉后面的扩展名(.py)即为模块名

三、使用模块

导入模块(import)

1、使用import导入模块

1.1 模块被导入后,程序会自动生成pyc的字节码文件以提升性能

1.2 模块属性通过“模块名.属性”的方法调用

1.3 如果仅需要模块中的某些属性,也可以单独导入

>>> import sys
>>> import os, string
>>> string.digits
‘0123456789‘
>>> from random import randint
>>> randint(1, 10)
3 

模块加载(load)

1、一个模块只被加载一次,无论它被导入多少次

2、只加载一次可以阻止多重导入时代码被多次执行

3、如果两个文件相互导入,防止了无限的相互加载

4、模块加载时,顶层代码会自动执行,所以只将函数放入模块的顶层是良好的编程习惯

模块导入的特性

1、模块具有一个__name__特殊属性

2、当模块文件直接执行时,__name__的值为‘__main__‘

3、当模块被另一个文件导入时,__name__的值就是该模块的名字

[[email protected] bin]# vim foo.py
#!/usr/bin/env python
print __name__
[[email protected] bin]# ./foo.py
__main__
[[email protected] bin]# python
>>> import foo
foo
时间: 2024-10-13 23:00:25

第五篇:模块的相关文章

【Python五篇慢慢弹(4)】模块异常谈python

模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简单冗余知识不再介绍,作者假使你用c/java/c#/c++任一种语言基础.本系列文章属于入门内容,老鸟可以略看也可以略过,新鸟可以从篇一<快速上手学python>先接触下python怎样安装与运行,以及pycharm编辑器的使用和配置:

前端工程师技能之photoshop巧用系列第五篇——雪碧图

显示目录 目录 [1]定义 [2]应用场景 [3]合并[4]实现[5]维护 前面的话 前面已经介绍过,描述性图片最终要合并为雪碧图.本文是photoshop巧用系列第五篇--雪碧图 定义 css雪碧图(sprite)是一种网页图片应用处理方式,它允许将一个页面涉及到的所有零星图片都包含到一张大图中.使用雪碧图的处理方式可以实现两个优点: [1]减少http请求次数 [2]减少图片大小,提升网页加载速度 (多张图片加载速度小于拼合成的图片的加载速度) 凡事都不完美,实现优点的同时也带来了缺点,即提

Python之路【第十五篇】:Web框架

Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/env python #coding:utf-8   import socket   def handle_request(client):     buf = client.recv(10

【Python五篇慢慢弹(5)】‘类’过依然继续前行,直至ending再出发

‘类’过依然继续前行,直至ending再出发 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简单冗余知识不再介绍,作者假使你用c/java/c#/c++任一种语言基础.本系列文章属于入门内容,老鸟可以略看也可以略过,新鸟可以从篇一<快速上手学python>先接触下python怎样安装与运行,以及pychar

认识元数据和IL(下)&lt;第五篇&gt;

书接上回: 第二十四回:认识元数据和IL(上) , 第二十五回:认识元数据和IL(中) 我们继续. 终于到了,说说元数据和IL在JIT编译时的角色了,虽然两个回合的铺垫未免铺张,但是却丝毫不为过,因为只有充分的认知才有足够的体会,技术也是如此.那么,我们就开始沿着方法调用的轨迹,追随元数据和IL在那个神秘瞬间所贡献的力量吧 5 元数据和IL在JIT编译时 CLR最终执行的只有本地机器码,所以JIT编译的作用是在运行时将IL代码解析为机器码执行.对于JIT编译,我们会以专门的篇幅来全面了解,本文只

第五篇 Getting Started with ORACLE EBS(开始学习ORACLE EBS)

第一篇介绍了ERP软件是供应链管理软件.告诉你这个软件改善或提升企业管理的切入点和着力点.有了着力点才能给力. 第二篇介绍了什么是咨询以及咨询工作共通的章法,告诉了你咨询的套路是什么,就像练习一套拳,套路就是这样的,这些是形式的东西. 第三篇介绍了EXCEL和基于数据库的软件在数据处理方面的异同. 第四篇介绍了在国内做咨询你应该具备的一些基础理论常识. 从本篇也就是第五篇开始着手介绍一些循序渐进学习ORACLE EBS的知识.面向的读者是ORACLE EBS系统实施新手.并欢迎高手不吝批评纠正.

Python之路【第五篇】:面向对象和相关

Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 class Foo(object):     pass obj = Foo() isinstance(obj, Foo) 二.issubclass(sub, super) 检查sub类是否是 super 类的派生类 1 2 3 4 5 6 7 class F

SOS 调试扩展 (SOS.dll) 《第五篇》

SOS调试扩展让你可以查看在公共语言运行时里面运行的代码的有关信息.例如,你可以使用SOS调试扩展显示托管堆的有关信息,查找堆的错误,显示运行时使用的内部数据类型,以及查看在运行时里面运行的所有托管代码的有关信息. 使用SOS调试扩展的办法是把它装入到WinDbg.exe调试器,或者Visual Studio 2005或它的更早版本.你能够在WinDgb.exe里或者在Visual Studio的即时窗口里面执行令来载入它. 在Windbg.exe中装载SOS的命令是: .loadby sos

第五篇 SQL Server安全架构和安全

本篇文章是SQL Server安全系列的第五篇,详细内容请参考原文. 架构本质上是一个数据库对象,其他对象的一个容器,在复杂的数据库中它能够很容易的管理各组对象.架构具有重要的安全功能.在这一篇你会学习如何给主体访问一组对象,通过给架构分配权限而不是单个表.代码模块和其他对象.你还会了解用户架构分离的好处,以及如何提高对象安全性,如何为用户.组使用默认架构来简化对象访问管理和安全性.Schemas with Roles and PermissionsThe relationship of sch

第五篇 函数进阶

目录 第五篇 函数进阶 一 闭包函数 二 装饰器 三 迭代器 四 三元表达式 五 列表推导式 六 字典生成式 七 生成器 八 递归 九 匿名函数 十 内置函数 第五篇 函数进阶 ==回顾基础== 函数对象:可以将定义在函数内的函数返回到全局使用,从而打破函数的层级限制. 名称空间与作用域:作用域关系在函数定义阶段时就已经固定死了,与调用位置无关,即在任意位置调用函数都需要跑到定义函数时找到作用域关系. 一 闭包函数 闭包 闭就是封闭(函数内部函数),包就是包含(该内部函数对外部作用域而非全局作用