知识导图
函数的基本使用
函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。函数包括两部分:函数的定义和函数的使用。
函数的定义
Python语言通过保留字def定义函数,形式如下:
def <函数名> (<函数列表>):
<函数体>
return<返回值函数>
函数名是任何有效的Python标识符,参数列表是调用该参数时传递给它的值,可以有0个,1个和多个,多个参数之间用逗号隔开,无参数时要保留圆括号。参数列表中的参数时形式参数,起占位符的作用。函数体时函数每次被调用时执行的函数。如需返回值,使用保留字return和返回值列表。函数可以没有return语句,函数体结束后将控制权返回给调用者。
#定义一个对整数n求阶乘的函数
def fact(n):
s=1
for i in range(1,n+1):
s*=i
return(s)
函数的使用
定义后的函数不能直接运行,必须经过“调用”才能得到运行,调用函数的基本方法如下:
<函数名> (<实际赋值参数列表>)
#定义一个对整数n求阶乘的函数
def fact(n):
s=1
for i in range(1,n+1):
s*=i
return(s)
#调用整数阶乘的函数
print(fact(10))
结果
3628800
在Python中,函数也是有类型的,可以通过type()获取函数类型。函数采用其定义的名字表达,具体为function类型,这是一种Python的内置类型。如果调用函数,则类型为返回值的类型。
def f(x):
return x+1
print(type(f))
print(type(f(1)))
结果
<class 'function'>
<class 'int'>
函数的参数传递
可选参数传递
需注意的是可选参数一般放在非可选参数的后面。
函数定义时的语法如下:
def <函数名>(<非可选参数列表>,<可选参数>=<默认值>)
<函数体>
return<返回值列表>
def multiply(x,y=10):
print(x*y)
multiply(99)
multiply(99,2)
结果
990
198
参数名称传递
Python语言同时支持函数按照参数名称方式传递参数,语法形式如下:
<函数名>(<参数名>=<实际值>)
def multiply(x,y=10):
print(x*y)
multiply(x=99)
multiply(y=2,x=99)
结果
990
198