欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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