函数和模块的使用

一、函数

一个例子说明一切。

  1. def hello():
  2. print "hello world"
  3.  
  4. def increment(num):
  5. num += 1
  6. return num

默认参数

fun(,arg)是错误的,只能省略后面剩余的参数(按照声明的顺序)

可以使用None

  1. def fun(x=None,y=None,z=None):
  2.   ...

可变长参数

  1. def fun(*arg):
  2.   ...

使用函数作用域之外的变量,使用global声明

  1. x=12;
  2.  
  3. def fun():
  4. global x
  5. return x+12

二、模块

1、模块是对函数的进一步的封装, 可以看做一个Python文件

比如通过一个模块对许多数学函数进行了封装,例如为module.py

在另一个test.py中要对其引用,可以使用 import module,从而可以在test.py中调用module中的函数,比如

module.sin(x)

module.cos(x)

注意这里仍然需要使用模块名名称空间来引用其中声明的函数

2、模块的独立运行

每一个脚本在运行时都有一个__name__属性。

如果是作为模块被导入,那么是模块名;如果是独立运行则设置为__main__。我们可以通过这点来对模块设置独立的测试程序

  1. ##content of module
  2. ...
  3. ...
  4. ...
  5. ## test of the module
  6. if __name__ == '__main__':
  7. ##content of test

三、模块包

举个例子

上图展示了一个使用模块的例子当中,文件的组织方式,缩进表示文件夹对文件夹,或者文件夹对问价的包含关系。

所谓模块实际上就是包含了许多python源文件的目录,例如上面的p1文件夹,为了显示表明他是一个python模块,在这个文件夹下添加一个__init__.py空文件,用于??????

这样当我们在test.py当中要引用这个模块当中的函数或者类的到时候,可以直接使用

  1. from p1 import *

当我们在命令行下,敲入

  1. python test.py

会发现在p1目录下多了一个文件,那是???.pyc, 那是字节码文件,类似于Java的编译方式,所以跨平台

  1. # hi.py
  2. # print hello world
  3.  
  4. def hello():
  5. print "hello world"
  6.  
  7. def increment(num):
  8. num += 1
  9. return num
  10.  
  11. class MyException(Exception):
  12. def __init__(self, data):
  13. self.data = data
  14.  
  15. def __str__(self):
  16. return self.data
  1. # test.py
  2.  
  3. from p1.hi import *
  4.  
  5. hello()
  6.  
  7. num = increment(1)
  8.  
  9. print num
  10.  
  11. try:
  12. raise MyException, 'Error'
  13. except MyException, data:
  14. print data
  15. else:
  16. print 'ok'

Python 4 —— 函数与模块的更多相关文章

  1. python基础,函数,面向对象,模块练习

    ---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? #  [] {} () None 0 2,位和字节的关系? # ...

  2. 零基础学python之函数与模块(附详细的代码和安装发布文件过程)

    代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

  3. 零基础Python教程-函数及模块的使用

    函数 在学习本节内容之前,我们先来一起做道数学题. 已知:半径分别为0.1.0.2.0.3的三个圆,分别求这三个圆的面积. 很多读者可能要笑一下,这不是小学的数学问题吗? S = π * r * r ...

  4. Python中函数和模块的体验与使用

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...

  5. python常用函数及模块

    原文来源于博客园和CSDN 1.计算函数 abs()--取绝对值 max()--取序列最大值,包括列表.元组 min()--取序列最小值 len()--取长度 divmod(a,b)---取a//b除 ...

  6. Python学习笔记(2)——Python的函数、模块、包和库

    Table of Contents 1. 函数. 2. 模块. 3. 包(package) 4. 库(library) 初识Python,对于没有接触过编程的我,恐怕只能听懂什么是函数,这里介绍一下几 ...

  7. python封装函数到模块

    导入整个模块: import 模块名 导入特定函数: from module_name import function_name 通过逗号可以分割函数名,如果需要导入多个则 from a import ...

  8. 【Python】控制流语句、函数、模块、数据结构

    1.三种控制流语句:if\for\while 2.每句后都要加冒号 3.有elif语句=else后加一个if 注意使用变量名! 注意缩进! 注意控制流语句后面要加冒号! 4.for i in rang ...

  9. Python学习笔记总结(二)函数和模块

    一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句        例子 Calls        myfunc(‘diege', ...

随机推荐

  1. InnoDB is limited to row-logging when transaction isolation level is READ COMMIT

    分析: http://blog.csdn.net/lingli219/article/details/46372737 解决办法: http://niuzhenxin.iteye.com/blog/1 ...

  2. 微软要支持Objective-C了

    今天的新闻,见http://www.solidot.org/story?sid=43899 更详细的见,http://arstechnica.com/information-technology/20 ...

  3. jquery实现淡入淡出

    fade方法包括四个: (1)fadeIn(speed,callback):淡入的方法,speed代表淡入的速度,可以是slow,fast,毫秒,不填等 例如: $(document).ready(f ...

  4. CocoaPod安装和使用教程

    一.CocoaPods是什么? CocoaPods是一个负责管理iOS项目中第三方开源库的工具.CocoaPods的项目源码在Github上管理.我们开发iOS项目不可避免地要使用第三方开源库,Coc ...

  5. struts2配置文件中Action中的各属性的含义

    StrutsApacheBeanJSPServlet attribute:      这个属性用来指定ActionForm保存到指定上下文时所使用的属性名.如果不指定attribute属性的值,将使用 ...

  6. Nginx Location配置总结

    Nginx Location配置总结 语法规则: location [=|~|~*|^~] /uri/ { - }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即 ...

  7. MAGENTA: Meta-Analysis Gene-set Enrichment of variaNT Associations

    MAGENTA是一款计算工具,利用全基因组遗传数据,计算预先设定的涉及生物过程或者功能性基因集在遗传相关性的富集程度.开发的目的是分析基因型不是现成的数据集,比如大型的全基因组关联荟萃分析.在以下两种 ...

  8. 项目里面Swift和OC 交叉使用

    在OC的项目中使用Swift 语言开发 创建swift文件,同时创建桥接文件.(桥接文件里面不用导入头文件) 在swift文件中完成代码的编写. 在某OC类的.m文件中,使用swift文件.方法;#i ...

  9. linux中的chage命令

    在LINUX系统上,密码时效是通过chage命令来管理的. 参数说明:-m 过多少天后可修改密码.为0时代表任何时候都可以更改密码.-M 过多少天后密码过期.-W 用户密码到期前,提前收到警告信息的天 ...

  10. pip 加速方案

    每当我pip install * 的时候,总是发现速度很慢,通过google,发现还是有方法来解决这种状况的 在~/ 命令下,创建 .pip/pip.conf,我用的是阿里的镜像,速度还是杠杠的 mk ...