函数的创建和使用是计算机语言中最常用最基本的程序,那么今天就来讲解一下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
众多python培训视频,尽在python学习网,欢迎在线学习!