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 18 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
python 列表输出重复值以及对应的角标方法
Jun 11 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
调用其他python脚本文件里面的类和方法过程解析
Nov 15 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
PyCharm2019 安装和配置教程详解附激活码
Jul 31 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
Django haystack实现全文搜索代码示例
Nov 28 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 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
如何删除多级目录
2006/10/09 PHP
如何使用PHP往windows中添加用户
2006/12/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
如何基于Python实现数字类型转换
2020/02/07 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
车间调度岗位职责
2013/11/30 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
党性观念心得体会
2014/09/03 职场文书
小班下学期个人总结
2015/02/12 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android
详解redis在微服务领域的贡献
2021/10/16 Redis
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python