Python 函数定义与调用
程序员文章站
2024-03-26 10:02:23
...
1、python 函数的定义
以def开头,基本格式如下
def 函数名(参数列表):
“ 函数_文档字符串”
函数体
return 表达式
函数定义规则说明:
(1)函数代码块以def开头,后面紧跟的是函数名和圆括号( )。
(2)函数名的命名规则跟变量的名字一是样的,即只能是字母、数字和下划线的任何组合,但是不能以数字开头,并且不能跟关键字重名。
(3)函数的参数必须放在圆括号中。
(4)函数的第1行语句可以选择性地使用文档字符串来存放函数说明。
(5)函数内容以冒号起始,并且缩进。
(6) return 表达式结束函数,选择性地返回一个值给调用方。不带表达式的return 相当于返回None。
需要注意的是,如果参数列表包含多个参数,默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配的。
2、函数调用
函数名()
3、函数参数:默认参数,不定长参数
带默认值的参数一定要位于参数列表的最后面。例
def printinfo( name, age = 15 )
如果希望函数可以处理的参数个数比当初定义的参数个数多,可用不定长参数,语法:
def 函数名([formal_args,] *args, **kwargs):
“ 函数_文档字符串”
函数体
return 表达式
共三个参数,formal_args为传统定义的参数,*args和**kwargs为不定长参数。当调用函数的时候,函数传入的参数个数优先匹配formal_args参数的个数。如果传入的参数个数与formal_args参数个数相同,不定长参数会返回空的元组或字典;如果传入的参数个数比formal_args参数个数要多,则分以下两种情况:
(1)如果传入的参数没有指定名称,那么*args会以元组的形式存放这些多余的参数;
(2)如果传入的参数指定了名称,如 m=1,那么**kwargs会以字典形式存放这些被命名的参数,如:{m:1}。
举例
def test(a,b,*args,**kwargs):
print(a)
print(b)
print(args)
print(kwargs)
test(11,22,33,44,55,66,77,m=88,n=99)
运行结果
11
22
(33, 44, 55, 66, 77)
{'m': 88, 'n': 99}
4、函数返回值:函数无参数,有返回值。函数无参数,有返回值。函数有参数,无返回值。函数有参数,有返回值。
一般用函数有参数,有返回值。举例
def sum(a,b):
return a+b
print("a+b=%s"%sum(10,20))
运行结果
a+b=30