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在linux中输出带颜色的文字的方法
Jun 19 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
django从请求到响应的过程深入讲解
Aug 01 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
python树的同构学习笔记
Sep 14 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
python 负数取模运算实例
Jun 03 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
python 如何调用远程接口
Sep 11 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
May 17 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加密解密函数(动态加密)
2013/06/19 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
Python用模块pytz来转换时区
2016/08/19 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
python如何实现word批量转HTML
2020/09/30 Python
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
精选奢华:THE LIST
2019/09/05 全球购物
幼师自荐信范文
2013/10/06 职场文书
幼儿园家长会邀请函
2014/01/15 职场文书
考试不及格的检讨书
2014/01/22 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
法定代表人身份证明书
2014/09/10 职场文书
代收款委托书范本
2014/10/01 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
利用Apache Common将java对象池化的问题
2022/06/16 Servers