3.Python中的函数与匿名函数

1.函数

①函数的定义与调用

1.定义:

def funname(参数):

    函数体

 2.调用:

调用有两种方式,位置参数和关键字参数,如下。位置参数顺序一定要一致

def sum_h(a,b):
    return a+16*b
print(sum_h(3,9))
print(sum_h(b = 9,a = 3))

》》
147
147

 ②参数传递

1.形参与实参

定义函数时,括号里面的参数

调用函数时,括号里面的参数

2.值传递与引用传递

如果实参是不可变对象如数字、字符串,则是值传递,调用函数后,实参值不变

如果实参是可变对象如列表,则是引用传递,调用后实参值改变(可变变)

def list_add(a):
    a.append(1)
a = [3,6,9]
list_add(a)
print(a)

》》
[3, 6, 9, 1]

③参数默认值与可变参数

1.设置默认值

注意:指定了默认值的参数一定要放在最后

默认值一定要设置为不可变对象

def sum_h(a,b = "默认1",c = "默认2"):
    print(a+b+c)
sum_h("字符")

》》
字符默认1默认2

 2.可变参数

第一种:*parameter     (可输入任意个参数,相当于输入是一个元组

def sum_h(*a):
    b = 0
    for i in a:
        b+=i
    return b
print(sum_h(1,2,3,4))

第二种:**parameter   (可输入任意个参数,相当于输入是一个字典

def sal(**a):
    for k,v in a.items():
        print(k,"改变后的工资为",v+1000)
sa = {"小明":9000,"小王":9500,"小付":15600}
sal(**sa)

》》
 小明 改变后的工资为 10000
小王 改变后的工资为 10500
小付 改变后的工资为 16600

④局部变量与全局变量

1.局部变量:

只在函数内部定义和使用的变量。

2.全局变量:

①在函数外部定义

则在函数内可以访问到,而且可以改变值,(?)

②在函数内部定义

def s():
    global b
    b = 100
    print(b)
s()     #如果没有这一步调用,那么执行下一行就会报错(可以理解为函数不调用就不编译)
print(b)

》》
100
100

2.匿名函数(lambda表达式)

本质:短小的回调函数    (通常只用一次

格式:函数名 = lambda 参数1,参数2:表达式

su = lambda a,b:a*100+b*10
print(su(3,4))

》》
340

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值