-
Python中的函数
在Python中利用关键词def定义函数,调用函数时直接用函数名加圆括号即可。
通过参数向函数内部传递变量,参数位于函数名后的中括号内,一个函数可以有多个参数(用逗号隔开),注意调用函数时传入参数的数目与顺序须与函数定义时指定的参数数目和顺序保持一致。
但当创建函数时无法提前知道需要传入几个参数时,可以在参数前加*,表示参数数目不确定,此时在调用函数时传入的多个参数会以元祖(tuple)的形式储存,此时在函数内部传入参数时,需用访问元祖元素的形式
#只有一个参数的函数
def fun1(name):
print(name + " is a boy.")
fun1("Leo")#结果为Leo is a boy.
#有多个参数的函数
def fun2(name,age):
print(name + " is " + str(age) + " years old.")
fun2("Leo",13)#结果为Leo is 13 years old.
#未知参数数目的函数
def fun3(*name):
print(name[0] + " is my friend.")
fun3("Leo","Jim","Susan")#结果为Leo is my friend.调用函数传入参数时可以用键值配对的形式,此时参数的顺序可随意。
若创建函数时参数数目不确定,可在参数前加**,此时调用函数时传入的多个参数会以字典(Dict)的形式储存。
def fun1(name,age):
print(name + " is " + str(age) + " years old.")
fun1(age=13,name="Leo")#结果为Leo is 13 years old.
def fun1(**info):
print(info['name'] + " is " + str(info['age']) + " years old.")
fun1(age=13,name="Leo")#结果为Leo is 13 years old.默认参数:定义函数时可指定默认参数,当调用函数未传入参数时,则使用默认参数
def fun1(name="Leo"):
print("My name is " + name)
fun1()#结果为My name is Leo以列表作为参数:函数中的参数可为多种数据类型,如以列表为参数
def fun1(fruits):
for i in fruits:
print("I like " + i)
fruit=["apple","berry","lemon"]
fun1(fruit)#结果为I like apple I like berry I like lemonreturn返回值
def fun1(x):
return 2*x
print(fun1(3))#结果为6函数的定义内容不能为空,如果实在需要定义空函数,则使用pass以免报错
def fun1():
pass -
Python中的Lambda Functions
Lambda Functions是一种小型的匿名函数,可传入任何数量的参数,但函数内部只有一个表达式。lambda函数的定义格式为lambda 参数:表达式
lambda函数常用于嵌套函数中
x=lambda a:a+5#这里定义lambda函数,函数名为x,参数只有一个,为a,表达式为a+5
print(x(5))#结果为10
fun1=lambda a,b:a+b#这里定义lambda函数,函数名为fun1,参数有两个,表达式为a+b
print(fun1(1,2))#结果为3
#在普通函数中嵌套lambda函数
def fun1(n):
return lambda a:a*n
mydoubler=fun1(2)#这里首先运行fun1函数,将参数2传入,返回的是一个lambda函数,函数名为mydoubler,参数为a,表达式为a*2
print(mydoubler(11))#这里执行lambda函数,传入参数11,即a=11,返回结果22
原文始发于微信公众号(BioInfo):W3Schools-Python基础5
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238180.html