函数的创建和使用是计算机语言中最常用最基本的程序,那么今天就来讲解一下python中函数的几种基本形式,所有的方法创建都会属于这几种模板
函数的定义:计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理;所谓出口,就是指函数的函数值,在计算机求得之后,由此口带回给调用它的程序。
Python中函数的基本语法:
def + 方法名 + ():
()里面可以有参数(参数为形参,没有实际意义,相当于一个空的变量),也可以没参数
1.无参数无返回值:
def fun():
print('Hello World')
fun()
这是一个最基本最简单的一个函数,调用这个函数时会直接输出Hello World,不需要任何操作
2.无参数 有返回值:
def fun():
sum = 1+2
return sum
sum=fun()
print(sum)
有返回值:表示方法在结束的时候会返回一个值或多个值,这些值可以是任意形式,使用return来返回
在这里,有必要说一下return的作用:
1.返回一个值或多个值, 返回多少个值 调用这个方法时就需要用多少个值来接收
2.结束此方法,在这个方法中,不管return后面还有多少行代码,统统不执行
3.有参数 有返回值:
def fun(name,age):
return name,age
name,age=fun('python',29)
print(name)
print(age)
python
29
4.有默认参数的函数:
def fun(name,age=29):
return name,age
name,age=fun('python')
print(name)
print(age)
python
29
在定义方法时,直接给形参赋值的参数称为默认参数,调用这个方法时可以使用默认值,默认值可以为空
5.包含指针和双指针的函数
*args用法,把多余的参数统统放入args中里,args是一个元组,可以存放任何形式的值
**args 双指针,是一个字典,用法和*args相同,只能存放key,value形式的值
def fun(name='',age='',*args,**kwargs):
print(name)
print(age)
print(args)
print(kwargs)
fun('python',29,'Guido van Rossum','荷兰人',info='这是发明者')
输出结果:
python
29
('Guido van Rossum', '荷兰人')
{'info': '这是发明者'}
在调用方法时,本来我们只能输入两个参数,但在这里我们输入了5个参数而且并没有报错
从输出结果中我们可以看到 剩下的3个参数自动归入到args和kwargs中
在这里,我额外说两个比较特殊并且比较有代表性的方法
这两个方法的参数是另一个方法,这就是我今天要说的知识点,函数的参数可以是另一个函数
map函数:把参数二(参数二是一个序列)的值放入参数一中(参数一是一个方法),得到的结果为map函数的返回值
def myMap(x):
allNumberDict={
'0':5,
'1':6,
'3':7,
'4':8
}
return allNumberDict[x]
result = list(map(myMap,'0413'))
print(result)
输出结果:[5, 8, 6, 7]
reduce函数:有两个参数 参数一:一个函数 参数二:一个序列
表示 对参数二里的值的每一个元素都调用参数一的方法,并返回一个最终结果
from functools import reduce
def myReduce(x,y):
return x+y
print(reduce(myReduce,[1,23,4,5,77,6]))
输出结果:116