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里隐藏的“禅”
Jun 16 Python
Python脚本实现代码行数统计代码分享
Mar 10 Python
十个Python程序员易犯的错误
Dec 15 Python
详解supervisor使用教程
Nov 21 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
django+echart数据动态显示的例子
Aug 12 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
Python中无限循环需要什么条件
May 27 Python
Python自带的IDE在哪里
Jul 01 Python
python 删除excel表格重复行,数据预处理操作
Jul 06 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
利用php输出不同的心形图案
2016/04/22 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
javascript 写类方式之八
2009/07/05 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
简单了解python PEP的一些知识
2019/07/13 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
移动通信行业实习自我鉴定
2013/09/28 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
车辆委托书范本
2014/10/05 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
Python实现制作销售数据可视化看板详解
2021/11/27 Python
分享提高 Python 代码的可读性的技巧
2022/03/03 Python