发布于2019-10-28 16:41 阅读(1243) 评论(0) 点赞(13) 收藏(2)
def function_name(parameter):
function body
例如:
>>> def name(first_name,last_name):
name=first_name+last_name
return name
>>> n1="sdf "
>>> n2="dfs"
>>> name=name(n1,n2)
>>> name
'sdf dfs'
你所输入的实参储存在哪个形参里,取决于定义函数时形参的位置,以及你输入实参的顺序。
例如:
>>> def name(first_name,last_name):
name=first_name+last_name
return name
>>> n1="sdf "
>>> n2="dfs"
>>> name=name(n1,n2)
>>> name
'sdf dfs'
函数name(first_name,last_name) 就是基于位置实参的函数,实参n1被分配给形参frist_name ,实参n2被分配给形参last_name. 因此,如果n1与n2的位置弄反,那么最终返回的结果也会相反。
关键字实参是传递给函数的名称–值对。其实就是在调用函数的时候,指定了这个实参被分配给哪个形参。例如:
>>> def name(first_name,last_name):
name=first_name+last_name
return name
>>> n1="sdf "
>>> n2="dfs"
>>>> name=name(last_name=n2,first_name=n1)
>>> name
'sdf dfs'
这样就不用在意形参与实参的位置了,可以避免很多错误,而且能很快知道函数实参与形参的对应关系。
定义函数时,可以给每个形参预先设置一个默认值,那么,在调用函数时,如果给形参提供了实参,Python将使用你提供的实参;如果没有给形参提供实参,形参将使用默认值(这时,调用函数时就不用输入这种实参了)。
例如:
>>> def name(first_name,last_name="jordan"):
name=first_name+last_name
return name
>>> name=name("maico")
>>> name
'maicojordan'
注意: 给形参指定默认值时,形参列表必须先列出“没有默认值的形参”,再列出有默认值的形参。因为Python此时是根据位置实参来判断的。
有时候,你不知道预先要定义多少个形参,所以我们可以通过以下做法,来使得函数能够接收任意数量的实参。
>>> def my_car(*cars):
print("以下就是我的车")
for car in cars:
print("-"+car)
>>> my_car("宝马","奔驰","兰博基尼","劳斯莱斯")
以下就是我的车
-宝马
-奔驰
-兰博基尼
-劳斯莱斯
形参*cars 使得Python创建一个名为cars的空元组,然后,将所有的实参,都收入其中。因此,我们可以通过在函数体内使用这个元组,进而使用到其中的每个元素。
与标准的函数定义相比,lambda表达式显得更简洁
下面给出具有多个参数的lambda表达式用法:
>>> a=lambda x,y,z:x+y+z
>>> a(1,2,3)
6
这里相当于定义了一个名为a的函数,其功能是将x,y,z三个数相加,而且省去了函数定义的大量代码 。不过,lambda表达式在日后维护时,会比较麻烦,所以还是建议用一般的函数定义法
作者:23dh
链接:https://www.pythonheidong.com/blog/article/147259/c19b5fddafad56b77744/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!