自定义函数
定义函数需要使用 def,相应的格式是这样的(假如我们定义一个输出 Hello 的函数)
def
hi():
# 自定义函数内的程序缩进一个TAB或者四个空格就可以
print
(
'Hello.'
)
#后面直接就可以用 hi() 实现print('Hello.')
hi()
其中 hi 就是函数名称,函数名称中间不能有空格,如果需要的话可以用下划线代替。
向自定义函数传输参数
def
hi(name):
print
(
'Hello,'
+
name)
hi(
'iCoA'
)
# 输出结果:Hello,iCoA
向自定义函数传递多个参数
def
how_old(name,age):
print
(name
+
' is '
+
age)
# 调用参数的时候,按照定义的顺序填写就可以
how_old(
'Dasy'
,
'24'
)
# 输出结果:Dasy is 24
# 如果调用的时候,不按照顺序,则可以像下面这样写具体哪个参数等于什么
how_old(age
=
'24'
,name
=
'Dasy'
)
# 输出结果跟上面一样
自定义函数带默认参数
def
how_old(name
=
'Coulson'
,age
=
'59'
):
print
(name
+
' is '
+
age)
# 这时候调用的时候,如果不传递参数,则输出默认参数
how_old()
# 输出结果:Coulson is 59
# 如果只传递一个参数,则其他参数采用默认值
how_old(name
=
'May'
)
# 输出结果:May is 59
自定义函数返回值
自定义的函数,除了可以做一些运算和动作之外,还可以返回一个值,可以当做变量或者赋值给变量使用。
def
how_old(name
=
'Coulson'
,age
=
'59'
):
old
=
name
+
' is '
+
age
return
old
x
=
how_old()
# 将函数返回的值赋值给x变量
print
(x)
# 输出结果:Coulson is 59
自定义函数返回多个值
自定义函数可以返回多个值,但是并不是写多个return,而是return后面写多个变量,读取的时候同样需要使用多个变量。
def
calc(num1,num2):
a
=
num1
+
num2
b
=
num1
-
num2
c
=
num1
*
num2
return
a,b,c
sums,dif,pro
=
calc(
5
,
3
)
# 返回三个值,就可以赋值给三个变量
print
(sums)
print
(dif)
print
(pro)
''' 输出结果:
8
2
15
'''
关于函数中变量的传递
如果在运行函数之前某个变量有定义,并且函数中未定义,则可以直接使用这个变量。
但是如果想对这个变量进行改变,需要在函数中使用 global 定义一下这个变量。
def
add()
global
a
a
=
2
a
=
1
add()
# 运行函数之后,a变成了2
print
(a)
# 输出结果为2