Python实现自定义函数的5种常见形式分析

yipeiwu_com7年前Python基础

本文实例讲述了Python自定义函数的5种常见形式。分享给大家供大家参考,具体如下:

Python自定义函数是以def开头,空一格之后是这个自定义函数的名称,名称后面是一对括号,括号里放置形参列表,结束括号后面一定要有冒号“:”,函数的执行体程序代码也要有适当的缩排。Python自定义函数的通用语法是:

def   函数名称(形参列表):
执行体程序代码

Python自定义函数的5种常见形式:

1、标准自定义函数:

-----形参列表是标准的tuple数据类型

>>> def abvedu_add(x,y):
 print( x + y)
>>> abvedu_add(3,6)
9
>>>

2、没有形参的自定义函数:

该形式是标准自定义函数的特例。

>>> def abvedu_print():
 print("hello Python!")
>>> abvedu_print()
hello Python!
>>>

3、使用默认值的自定义函数:

在定义函数指定参数时,有时候会有一些默认的值,可以利用“=”先指定在参数列表上,如果在调用的时候没有设置此参数,那么该参数就使用默认的值。

>>> def abvedu_printSymbol(n,symbol = " %"):
 for i in range(1,n+1):
  print(symbol , end ="")
 print()
>>> abvedu_printSymbol(6)
 % % % % % %
>>> abvedu_printSymbol(9,"@")
@@@@@@@@@
>>>

4、参数个数不确定的自定义函数:

此函数可以接受没有预先设置的参数个数,定义方法是在参数的前面加上“*”。

>>> def abvedu_main(*args):
 print("参数分别是:")
 for arg in args:
  print(arg)
>>> abvedu_main(1,2,3)
参数分别是:
1
2
3
>>> abvedu_main(6,9)
参数分别是:
6
9
>>> abvedu_main('a','b','v','e',"du")
参数分别是:
a
b
v
e
du
>>>

5、使用lambda隐函数的自定义函数:

Python提供了一种非常有趣、精简好用的一行自定义函数的方法lambda,这是一种可以实现一行语句、用完即丢的自定义函数。语法形式是:

lambda 参数列表:执行语句

其实,它对应的标准自定义函数形式:

def  函数名称(参数列表):
return 语句内容

这种定义方式可以和map函数一起使用。

>>> x = range(1,9)
>>> x
range(1, 9)
>>> y = map(lambda i: i**3, x)
>>> for i, value in enumerate(y):
 print("{}^3 = {}".format(i,value))
0^3 = 1
1^3 = 8
2^3 = 27
3^3 = 64
4^3 = 125
5^3 = 216
6^3 = 343
7^3 = 512

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

python list使用示例 list中找连续的数字

线上有个需求,格式化,从一堆s1,s100-s199中找出连续的服并且格式化显示出来,如:神魔:S106-109,s123,s125御剑: s106-109,s123,s125复制代码...

部署Python的框架下的web app的详细教程

部署Python的框架下的web app的详细教程

作为一个合格的开发者,在本地环境下完成开发还远远不够,我们需要把Web App部署到远程服务器上,这样,广大用户才能访问到网站。 很多做开发的同学把部署这件事情看成是运维同学的工作,这种...

浅谈numpy数组中冒号和负号的含义

在实际使用numpy时,我们常常会使用numpy数组的-1维度和”:”用以调用numpy数组中的元素。也经常因为数组的维度而感到困惑。 总体来说,”:”用以表示当前维度的所有子模块 “-...

Python实现的生产者、消费者问题完整实例

本文实例讲述了Python实现的生产者、消费者问题。分享给大家供大家参考,具体如下: 生产者、消费者问题,经典的线程同步问题:假设有一个缓冲池(列表),生产者往里面放东西,消费者从里面取...

计算机二级python学习教程(1) 教大家如何学习python

计算机二级python学习教程(1) 教大家如何学习python

本来PHP还学艺不精,又报了计算机二级Python的考试,还有一个半月的时间,抓紧买了高教社的这两本书,今天正式开始学习这个语言,虽然没法和世界上最好的语言PHP相提并论,但是也值得一学...