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编程实战之Oracle数据库操作示例
Jun 21 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
python安装twisted的问题解析
Aug 21 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
python 申请内存空间,用于创建多维数组的实例
Dec 02 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
Python实现结构体代码实例
Feb 10 Python
Python colormap库的安装和使用详情
Oct 06 Python
python 实用工具状态机transitions
Nov 21 Python
Python如何配置环境变量详解
May 18 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
天津市收音机工业发展史
2021/03/04 无线电
PHP读取MySQL数据代码
2008/06/05 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
PHP7.0版本备注
2015/07/23 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
js里的prototype使用示例
2010/11/19 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
基于Python log 的正确打开方式
2018/04/28 Python
对python中return与yield的区别详解
2020/03/12 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
校运动会广播稿(100篇)
2014/09/12 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
美容院员工规章制度
2015/08/05 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
python之json文件转xml文件案例讲解
2021/08/07 Python