函数是指可重复使用的程序片段。被用来为某个代码块赋予名字,通过这一特殊的名字可以在程序的任何地方来运行代码块,并可重复任何次数。这就是所谓的调用函数。我们已经使用过了许多内置的函数,例如: print
、len
和range
。
定义函数与调用函数
定义函数使用关键字def
,后跟函数名与括号内的形参列表。函数语句从下一行开始,并且必须缩进:
def say_hello(name):
print('Hello', name)
定义函数后,可以使用函数名跟括号内参数的形式调用函数,若该函数在定义的时候并没有设置参数则不能在调用的时候传入参数:
def add(a, b):
return a + b
print(add(100, 200))
def get_pi():
return 3.14159
print(get_pi())
运行结果:
300
3.14159
函数体中可以通过return
语句指定需要返回的对象:
def get_str():
return "a string"
_str = get_str()
print(_str, type(_str))
def get_float():
return 123.321
_float = get_float()
print(_float, type(_float))
运行结果:
a string <class 'str'>
123.321 <class 'float'>
默认值参数
为参数指定默认值是非常有用的方式。调用函数时,可以使用比定义时更少的参数,例如:
def say_hello(name='kk'):
print('Hello', name)
say_hello()
say_hello('jojo')
运行结果:
Hello kk
Hello jojo
如果函数有多个参数需要确保默认值参数都在非默认值参数的右边:
def add(a, b=1):
return a + b
print(add(1))
print(add(1, 2))
运行结果:
2
3
调用函数时,可以指定函数的默认参数来传递值:
def dump(a=0, b=0, c=0, d=0):
print(a, b, c, d)
dump(a=1)
dump(b=2)
dump(c=3)
dump(d=4)
运行结果:
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4