Python 4 —— 函数与模块
函数和模块的使用
一、函数
一个例子说明一切。
def hello():
print "hello world" def increment(num):
num += 1
return num
默认参数
fun(,arg)是错误的,只能省略后面剩余的参数(按照声明的顺序)
可以使用None
def fun(x=None,y=None,z=None):
...
可变长参数
def fun(*arg):
...
使用函数作用域之外的变量,使用global声明
x=12; def fun():
global x
return x+12
二、模块
1、模块是对函数的进一步的封装, 可以看做一个Python文件
比如通过一个模块对许多数学函数进行了封装,例如为module.py
在另一个test.py中要对其引用,可以使用 import module,从而可以在test.py中调用module中的函数,比如
module.sin(x)
module.cos(x)
注意这里仍然需要使用模块名名称空间来引用其中声明的函数
2、模块的独立运行
每一个脚本在运行时都有一个__name__属性。
如果是作为模块被导入,那么是模块名;如果是独立运行则设置为__main__。我们可以通过这点来对模块设置独立的测试程序
##content of module
...
...
...
## test of the module
if __name__ == '__main__':
##content of test
三、模块包
举个例子
上图展示了一个使用模块的例子当中,文件的组织方式,缩进表示文件夹对文件夹,或者文件夹对问价的包含关系。
所谓模块实际上就是包含了许多python源文件的目录,例如上面的p1文件夹,为了显示表明他是一个python模块,在这个文件夹下添加一个__init__.py空文件,用于??????
这样当我们在test.py当中要引用这个模块当中的函数或者类的到时候,可以直接使用
from p1 import *
当我们在命令行下,敲入
python test.py
会发现在p1目录下多了一个文件,那是???.pyc, 那是字节码文件,类似于Java的编译方式,所以跨平台
# hi.py
# print hello world def hello():
print "hello world" def increment(num):
num += 1
return num class MyException(Exception):
def __init__(self, data):
self.data = data def __str__(self):
return self.data
# test.py from p1.hi import * hello() num = increment(1) print num try:
raise MyException, 'Error'
except MyException, data:
print data
else:
print 'ok'
Python 4 —— 函数与模块的更多相关文章
- python基础,函数,面向对象,模块练习
---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? # [] {} () None 0 2,位和字节的关系? # ...
- 零基础学python之函数与模块(附详细的代码和安装发布文件过程)
代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...
- 零基础Python教程-函数及模块的使用
函数 在学习本节内容之前,我们先来一起做道数学题. 已知:半径分别为0.1.0.2.0.3的三个圆,分别求这三个圆的面积. 很多读者可能要笑一下,这不是小学的数学问题吗? S = π * r * r ...
- Python中函数和模块的体验与使用
函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...
- python常用函数及模块
原文来源于博客园和CSDN 1.计算函数 abs()--取绝对值 max()--取序列最大值,包括列表.元组 min()--取序列最小值 len()--取长度 divmod(a,b)---取a//b除 ...
- Python学习笔记(2)——Python的函数、模块、包和库
Table of Contents 1. 函数. 2. 模块. 3. 包(package) 4. 库(library) 初识Python,对于没有接触过编程的我,恐怕只能听懂什么是函数,这里介绍一下几 ...
- python封装函数到模块
导入整个模块: import 模块名 导入特定函数: from module_name import function_name 通过逗号可以分割函数名,如果需要导入多个则 from a import ...
- 【Python】控制流语句、函数、模块、数据结构
1.三种控制流语句:if\for\while 2.每句后都要加冒号 3.有elif语句=else后加一个if 注意使用变量名! 注意缩进! 注意控制流语句后面要加冒号! 4.for i in rang ...
- Python学习笔记总结(二)函数和模块
一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句 例子 Calls myfunc(‘diege', ...
随机推荐
- dma_ops
kernel中的dma缓存区管理层操作统一实现在 struct dma_map_ops 中: dma缓存区分配函数的具体实现参考: http://www.aichengxu.com/view/599 ...
- c语言中三个点的解释 : variadic
3.6 Variadic Macros A macro can be declared to accept a variable number of arguments much as a funct ...
- 关于$.fn.*的使用
这个案例是我封装了一个树形插件,也是别人写好的,但是对于我来说调用起来不是很方便,就对他的初始化方法又进行了一次封装,总的来说显得比较麻烦,不过我是新手嘛 DEMO 封装一个jcTree的方法$.fn ...
- 数据库mysql优化方案
1.创建索引对于查询占主要的应用来说,索引显得尤为重要.很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致.如果不加索引的话,那么查找任何哪怕只是一条特定的数据 ...
- 自动验证是ThinkPHP
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则 ...
- LeetCode OJ 106. Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...
- 汉诺塔(c++)
今天看了递归函数,就写个汉诺塔,哈哈.........(每天记录一点点)
- PostrgreSQL 表名大小些问题(public."tablename")
问题: 今天做表查询的时候,发现用以前的代码查询出现问题,提示说表名不存在. 现象: 通过PostrgreSQL客户端查询,发现出问题的表的查询语句如下: SELECT * FROM public.& ...
- NGUI界面动画
玩游戏的时候,点击一个按钮,可能会看到UI从某个位置飞进来,关闭之后又往该位置飞出!又或者一些更加复杂的运动轨迹. 我们的项目现在就是使用Animation/Animator来制作界面动画. 流程:由 ...
- clob型不能用 distinct,以及转换clob类型方法
举例clob型不能用 distinct public List<WorkingPaper> findAssignedWorkPapers(String projectId, String ...