Python基础学习第七天,自定义函数

91 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

自定义函数

在Python中,自定义函数分为两种:lambda 和 def。

def关键字

使用def关键字进行函数的创建

def 函数名(参数):
    代码段
    return

ps : return 可多个。

这个格式十分的简单,但参数部分可以好好说道说道。

普通的参数形式

这种就是简单的在参数部分设置几个参数。

 def add(x,y):
     return x+y
 print(add(3,4))
 

image.png

默认参数

这个则是在设置参数的基础上,对参数进行一个默认值的设置。像普通参数形式的函数可能在未传参数的情况下报错,而设置默认值后就不会。

def add(x = 0 , y = 0):
    return x+y
print(add())
def add(x,y):
     return x+y
print(add())

image.png

动态参数

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))

image.png

还可以接收余下参数

def add(x , *num_tuple):
    x= 0
    for i in num_tuple:
        x += i
    return x
print(add(1,2,3))

image.png

**kwargs接收 键与值

def example(**sample):
    print(sample)
    print(sample["url"])
    return sample
x = example(name = '稀土掘金' , url = "https://juejin.cn/")
print(x["name"])

image.png

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))
          
      
    

image.png