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中os和shutil模块实用方法集锦
May 13 Python
Python自动发邮件脚本
Mar 31 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
Python中装饰器学习总结
Feb 10 Python
对python读取CT医学图像的实例详解
Jan 24 Python
对Python协程之异步同步的区别详解
Feb 19 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
Scrapy爬虫文件批量运行的实现
Sep 30 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
python飞机大战游戏实例讲解
Dec 04 Python
Python IO文件管理的具体使用
Mar 20 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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
星际玩家的三大定律
2020/03/04 星际争霸
用PHP制作的意见反馈表源码
2007/03/11 PHP
php的memcached客户端memcached
2011/06/14 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
js实现随机8位验证码
2020/07/24 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
p5.js实现动态图形临摹
2019/10/23 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
Python 串口通信的实现
2020/09/29 Python
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
寒山寺导游词
2015/02/03 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python