首页 技术 正文
技术 2022年11月10日
0 收藏 587 点赞 3,989 浏览 1185 个字

函数和模块的使用

一、函数

一个例子说明一切。

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 4 ——  函数与模块

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

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

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

from p1 import *

当我们在命令行下,敲入

python test.py

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

# hi.py
# print hello worlddef hello():
print "hello world"def increment(num):
num += 1
return numclass MyException(Exception):
def __init__(self, data):
self.data = data def __str__(self):
return self.data
# test.pyfrom p1.hi import *hello()num = increment(1)print numtry:
raise MyException, 'Error'
except MyException, data:
print data
else:
print 'ok'
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,022
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,359
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,142
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,773
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,851