Python-函数(下)详解笔记

python学习网站推荐

一、函数的返回值
编写函数,实现功能,给函数两个数,返回这两个数的和

def mySum(num1, num2):
    #将结构返回给函数的调用者
    return num1 + num2
    #执行完return语句,该函数就结束了,return后面的代码不执行
    print("**********")

res = mySum(1, 2)
print(res)

二、传递参数
值传递:传递的不可变类型
string、tuple、number是不可变的

def func1(num):
    print(id(num))
    num = 10
    print(id(num))

temp = 20
print(id(temp))
func1(temp)   #num = temp
print(temp)

引用传递:传递的可变类型
list、dict、set是可变的

def func2(lis):
    lis[0] = 100
li = [1,2,3,4,5]
func2(li)
print(li)


a = 10
b = 10
b = 40
print(id(a), id(b))

c = 20
d = 30
print(id(c), id(d))
d = c
print(id(c), id(d))

三、关键字参数
概念:允许函数调用时参数的顺序与定义时不一致

def myPrint(str, age):
    print(str, age)

使用关键字参数

myPrint(age = 18, str = "sunck is a good man")

四、默认参数
概念:调用函数时,如果没有传递参数,则使用默认参数

以要用默认参数,最好将默认参数放到最后

def myPrint(str, age = 18):
    print(str, age)

myPrint("kaige")

五、不定长参数
概念:能处理比定义时更多的参数

1.加了星号(*)的变量存放所有未命名的变量参数,如果在函数调用时没有指定参数,它就是一个空元组

def func(name, *args):
    print(name)
    print(type(args))
    for x in args:
        print(x)

func("sunck", "good", "nice", "handsom")

def mySum(*l):
    sum = 0
    for i in l:
        sum += i
    return sum
print(mySum(1,2,3,4,5,6,7))

2.**代表简键值对的参数字典,和*所代表的意义类似

def func2(**kwargs):
    print(kwargs)
    print(type(kwargs))

func2(x=1, y=2, z=3)


def func3(*args, **kwargs):
    pass #代表一个空语句

六、匿名函数
概念:不使用def这样的语句定义函数,使用lambda来创建匿名函数
特点:
1、lambda只是一个表达式,函数体比def简单
2、lambda的主体是一个表达式,而不是代码块,仅仅只能在lambda表达式中封装简单的逻辑
3、lambda函数有自己的命名空间,且不能访问自由参数列表之外的或全局命名空间的参数
4、虽然lambda是一个表达式且看起来只能写一行,与C和C++内联函数不同。

格式:lambda 参数1,参数2,……,参数n:expression

sum = lambda num1, num2:num1 + num2
print(sum(1,2))
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是DJ—程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值