开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情
自定义函数
在Python中,自定义函数分为两种:lambda 和 def。
def关键字
使用def关键字进行函数的创建
def 函数名(参数):
代码段
return 值
ps : return 可多个。
这个格式十分的简单,但参数部分可以好好说道说道。
普通的参数形式
这种就是简单的在参数部分设置几个参数。
def add(x,y):
return x+y
print(add(3,4))
默认参数
这个则是在设置参数的基础上,对参数进行一个默认值的设置。像普通参数形式的函数可能在未传参数的情况下报错,而设置默认值后就不会。
def add(x = 0 , y = 0):
return x+y
print(add())
def add(x,y):
return x+y
print(add())
动态参数
1.可以接收任意个参数
2.动态参数有两种 *args和**kwargs
*args必须在**kwargs之前
3.顺序:位置参数,*args,默认参数,**kwargs,其中
*args:接收的是按照位置传参的值,组织成一个元组
**kwargs:接收的是按照关键字传参的值,组成一个字典
ps: args 和 kwargs 只是变量命名,可更改
动态接收参数
def add(*num_tuple):
x= 0
for i in num_tuple:
x += i
return x
print(add(1,2,3))
还可以接收余下参数
def add(x , *num_tuple):
x= 0
for i in num_tuple:
x += i
return x
print(add(1,2,3))
**kwargs接收 键与值
def example(**sample):
print(sample)
print(sample["url"])
return sample
x = example(name = '稀土掘金' , url = "https://juejin.cn/")
print(x["name"])
lambda函数
-
lambda函数是一种匿名函数,即没有名字的函数
-
使用lambda保留字定义,函数名是返回结果
-
lambda函数的函数体只是一个表达式
-
lambda函数用于定义简单的、能够在一行内表示的函数
-
lambda表达式” : “后面,只能有一个表达式,def则可以有多个。
-
lambda一般用来定义简单的函数,而def可以定义复杂的函数
一般形式: 函数名 = lambda 参数 : 表达式 例子: test1 = lambda x : x+1 def test2( y ): return y+1 print(test1(1)) print(test2(3))