跟我一起写python—函数 (14)

函数,名称出自数学家李善兰的著作《代数学》—“凡此变数中函彼变数者,则此为彼之函数”。即函数指一个量随着另一个量的变化而变化,或者说一个量中包含另一个量。

我们简单理解为,一个输入,对应一个唯一的输出关系。

编程语言中,函数即指一个语句块,语句块有自己的名字,他可以有输入,也可以有输出。

之前我们已经用过python的内建函数,例如print、len等,下面我们来讲函数的相关使用.

1.函数的定义

1)函数通过关键字def定义
2)def关键字后跟一个函数的标识符名称,再跟一对圆括号
3)圆括号中包括一些变量名、传入的参数,以冒号结尾
4)函数内容以冒号起始,并且缩进
5) 返回值用return +返回值进行上报,如果没有返回值,直接写一个return,相当于上报None

例:
1
2
3
4
5
6
#!/usr/bin/python

def test():
print (“This is a function test code!")

test()

输出:
This is a function test code!

2.函数形参

形参,即你传给函数的参数,函数取得这个值,并用这个值去做一些事情。
若果有多个形参,则需要用逗号进行分隔。
一个形参,例如:

1
2
3
4
5
6
7
8
9
#!/usr/bin/python
# -*- coding :UTF -8 -*-

def test(a):
if a>0:
return a

x = test(2)
print(x)

输出:2

两个形参:

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python
# -*- coding :UTF -8 -*-

def test(a,b):
if a > b:
print ("a is max num")
return a
else:
print ("b is max num")
return b

x = test(2,3)
print(x)

输出:
b is max num
3

3.局部变量

局部变量是在函数体内声明的变量,即使他们与函数外部具有相同的名称,但是他们没有任何关系。
例:

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/python
# -*- coding :UTF -8 -*-

def test(a):
print ("a is ",a)
a = 10
print ("a modify to ",a)

a = 2
test(a)
print ("a is still",a)

输出:
a is  2
a modify to  10
a is still

第一次把a赋值为2,传给test函数,这里的a为形参,test函数中a赋值为10,这里a为局部变量,其实跟我传进来的值没有任何关系,所以当跳出函数体后,a仍然为2

4.全局变量global

如果想上面例子中的a,我们想在test函数中真正能修改他的值,我们就需要把a作为一个全局变量,用global进行定义
例:

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/python
# -*- coding :UTF -8 -*-

def test():
global a
print ("a is ",a)
a = 10
print ("a modify to ",a)

a = 2
test()
print ("a is still",a)

输出:
a is  2
a modify to  10
a is still 10
这里的a为一个全局变量
Tianger Ge wechat
如果您喜欢这篇文章,欢迎扫一扫我的微信公众号!