扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍Python函数的基本形式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
公司主营业务:成都网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出阿瓦提免费做网站回馈大家。
函数的创建和使用是计算机语言中最常用最基本的程序,那么今天就来讲解一下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函数的基本形式有哪些的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流