软件测试技术

当前位置:首页 > 软件测试技术

《Python学习笔记》第三章

第三章 函数

3.1 函数

我们已经见过了函数调用的例子: 

>>> type("world") 

(type ’str’)

函数type,它的作用是显示值和变量的类型。括号内的变量和值是函数的参数。函数返回的结果叫返回值。

我们可以把type的返回值赋值给变量:

>>> name = type("pitianjian")

>>> print name

<type‘str’>

函数id以值或变量为参数,返回值是一整数,它表示值或变量的唯一标识符。

>>> id(123)

11602164

>>> number = 123

>>> id(number)

11602164

>>> number = "123"

>>> id(number)

13087320

每个值或变量都有一个唯一id,id值与变量或值在内存中的位置相关。变量的id也就是它所指向值的id。 

3.2 函数定义

到目前为止,我们用的都是Python定义的函数。这些Python内置的函数,其定义部分对我们来说时透明的。因此,我们只关注这些函数的用法,而不必关心函数是如何定义的。

我们也可以创建自己的函数,来执行特定的操作。函数的定义形式如下:

def(arg1, arg2,... argN):

<statements>

函数的名字也必须以字母开头,可以包括下划线“_”,但不能把Python的关键字定义成函数的名字。函数内的语句数量是任意的,每个语句至少有 一个空格的缩进,以表示此语句属于这个函数的。缩进结束的地方,函数自然结束。

下面定义了一个两个数相加的函数:

>>> def add(p1, p2): 

print p1, "+", p2, "=", p1+p2

>>> add(1, 2)

1 + 2 = 3

函数的目的是把一些复杂的操作隐藏,来简化程序的结构,使其容易 阅读。函数在调用前,必须先定义。也可以在一个函数内部定义函数,内 部函数只有在外部函数调用时才能够被执行。程序调用函数时,转到函数 内部执行函数内部的语句,函数执行完毕后,返回到它离开程序的地方, 执行程序的下一条语句。

3.3 函数的行参和实参

让我们看下面的例子:

>>> def subtracter(p1, p2):

print p1, "-", p2, "=", p1-p2

>>> var1 = 3.1415

>>> var2 = 4.0987

>>> subtracter(var1, var2)

3.1415 - 4.0987 = -0.9572 

在这个例子中,函数subtracter有两个参数:p1和p2。他们是函数的行参。变量var1和var2是函数的实参。实参把它的值传递给行参,行参被函数内 的语句进行各种操作,而实参没有被改变。

函数也可以将表达式当作它的参数:

>>> def display(arg):

print arg


>>> a1 = 4.5

>>> a2 = 3

>>> display(a1 + a2)

7.5

>>> import math

>>> display(math.pi)

3.14159265359

>>> display("I love you." * 2)

I love you.I love you. 

3.4 变量的范围

Python有一个主函数:main 。其它的函数都是在这个函数内执行,或者说 main 调用你的程序及程序内的函数。你在任何函数外创造的变量都属于main 。看下面的例子:

>>> def multiply(p1, p2): 

print p1, "*", p2, "=", p1*p2

>>> def devide(p3, p4):

print p3, "/", p4, "=", p3/p4

>>> v1 = 2.5

>>> v2 = 5.9

>>> multiply(v1, v2)

2.5 * 5.9 = 14.75

>>> devide(v1, v2)

2.5 / 5.9 = 0.423728813559

在这个例子中,定义了两个函数:multiply和devide。p1和p2是函数multiply的 变量,p3和p4是函数devide的变量。v1和v2是函数 main 的变量。当两个 函数调用完毕后,p1,p2,p3,p4就消失了。变量的范围如图 3.1:

QQ截图20221122145631.png

相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~