Python模块结构与布局操作方法实例分析


Posted in Python onJuly 24, 2017

本文实例讲述了Python模块结构与布局操作方法。分享给大家供大家参考,具体如下:

#coding=utf8
#起始行
#!/usr/bin/env python
#模块文档
'''''
合理的Module布局:
(1) 起始行(Unix)
(2) 模块文档
(3) 模块导入
(4) 变量定义
(5) 类定义
(6) 函数定义
(7) 主程序
-----------------------------
(1) 起始行(Unix)
通常只有在类Unix环境下才使用起始行,有起始行可以输入脚本名来执行脚本。
(2) 模块文档
简要介绍模块功能及重要全局变量的含义,模块外可以通过module.__doc__访问这些内容。
(3) 模块导入
导入当前模块的代码需要的所有模块;每个模块仅导入一次;
函数内部的模块导入代码不会被执行,除非该函数正在执行。
(4) 变量定义
这里定义的变量为全局变量,本模块中的所有函数都可以直接使用。
尽量使用局部变量代替全局变量,这样不但容易维护,还可以提高性能并节省内存。
(5) 类定义
所有的类需要在这里定义。当模块被导入时class语句会被执行,类也会被定义。
类的文档变量是class.__doc__
(6) 函数定义
此处定义的函数可以通过module.function()在外部被访问到,当模块被导入时def语句会被执行,
函数也就会定义好,函数的文档变量是function.__doc__
(7) 主程序
无论这个模块使被别的模块导入还是作为脚本直接执行,都会执行这部分代码。
通常这里不会有太多功能性代码,而是根据执行的模式调用不同的函数。
'''
#导入模块
import sys
import time
from scrapy.utils import job
#定义变量
flag=1
#类定影
class Person(object):
  '''''
  Person class
  set person name、sex、age、job
  output the person information
  '''
  def __init__(self):
    self.name=''
    self.sex=''
    self.age=18
    self.job=''
  def setName(self,name):
    self.name=name
  def setSex(self,sex):
    self.sex=sex
  def setAge(self,age):
    self.age=age
  def setJob(self,job):
    self.job=job
  def outPut(self):
    print '''''
    name:%s
    sex:%s
    age:%d
    job:%s
    ''' %(self.name,self.sex,self.age,self.job)
#函数定义
def test():
  '''''
  test function
  '''
  if flag:
    print '''''
    run test()
    '''
    person=Person()
    person.setName("ewang")
    person.setAge(25)
    person.setSex("famale")
    person.setJob("big data testing")
    person.outPut()
#主程序
#如果模块使被导入,__name__的值为模块名字
#如果模块使被直接执行,__name__的值为'__main__'
if __name__=='__main__':
  test()

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用Python编写脚本使IE实现代理上网的教程
Apr 23 Python
利用Python的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
Python中Random和Math模块学习笔记
May 18 Python
Python深度优先算法生成迷宫
Jan 22 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
python多进程读图提取特征存npy
May 21 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
python3使用GUI统计代码量
Sep 18 Python
python统计文章中单词出现次数实例
Feb 27 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
如何在Python中创建二叉树
Mar 30 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
Jul 24 #Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
Jul 24 #Python
python引入导入自定义模块和外部文件的实例
Jul 24 #Python
Python3.X 线程中信号量的使用方法示例
Jul 24 #Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 #Python
老生常谈进程线程协程那些事儿
Jul 24 #Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 #Python
You might like
从手册去理解分析PHP session机制
2011/07/17 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
PHP制作万年历
2015/01/07 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
js右键菜单效果代码
2007/07/21 Javascript
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python生成验证码实例
2014/08/21 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
django2.0扩展用户字段示例
2019/02/13 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
Sperry官网:帆船鞋创始品牌
2016/09/07 全球购物
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
SQL Server数据库笔试题和答案
2016/02/04 面试题
编程输出如下图形
2013/11/24 面试题
客户代表实习人员自我鉴定
2013/09/27 职场文书
先进个人事迹材料
2014/12/29 职场文书
实习生辞职信范文
2015/03/02 职场文书
2015年团支部工作总结
2015/04/03 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
2015双创工作总结
2015/07/24 职场文书