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 相关文章推荐
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
详解Golang 与python中的字符串反转
Jul 21 Python
Python 列表理解及使用方法
Oct 27 Python
深入理解Python中的*重复运算符
Oct 28 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
Python实现的拉格朗日插值法示例
Jan 08 Python
django一对多模型以及如何在前端实现详解
Jul 24 Python
Python笔记之观察者模式
Nov 20 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
Python机器学习之KNN近邻算法
May 14 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
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
PHP禁止个别IP访问网站
2013/10/30 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
Redis构建分布式锁
2017/03/28 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
Angularjs 基础入门
2014/12/26 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python之mock模块基本使用方法详解
2019/06/27 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
毕业生求职简历的自我评价
2013/10/23 职场文书
身边的榜样活动方案
2014/08/20 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
会议新闻稿
2015/07/17 职场文书
简历自我评价范文
2019/04/24 职场文书
vue实现Toast组件轻提示
2022/04/10 Vue.js