学习笔记9

函数
函数以def开头,后面接函数名和括号,然后接冒号:
函数的最后接return结束函数,并返回一个值,可以没有,就相当于返回None
函数调用时直接用函数名加括号 括号内为需要传入的参数。
传入函数的参数是实参 在函数内使用的大多都为形参 形参只能在函数内使用,函数结束后就自动释放内存了。
函数中的参数

  • 位置参数:函数中最常用的一种参数,按照位置将实参传入函数内的形参。
  • 默认参数:必须放在位置参数后面的一种参数,如果输入值,则按照输入的值,没有输入,则按照默认值。
  • 可变函数:*args,程序会自动将后面的所有值组装为元组,同样不能放在位置参数前面。
  • 关键字参数:**kw 将数值组装为字典。
  • 命名关键字参数:*,nkw 给输入的关键参数命名,输入时不能缺少参数名。

函数的返回值
函数可以返回任意类型的参数,也可以没有返回函数,返回None
变量作用域
变量分为局部变量和全局变量
函数内部修改全局变量 用global关键字声明,来修改。
修改另一个闭包作用域中的变量使用nonlocal关键字。
递归:函数自己调用自身即为递归。
Lambda表达式
python可以用def加函数名创建新函数,也可以用lambda为关键词来创建匿名函数。
练习题

  1. 在函数中单独一行用双引号括起来的文字就为函数的解释文档
  2. 参数注解在参数名后加上:加数据类型,返回值注解在括号后加上->再加上数据类型。
  3. 使用nonlocal关键字加参数名 在进行修改
  4. a=[[6, 5], [3, 7], [2, 8]]
    x = sorted(a, key=lambda a: a[0])
    x = sorted(a, key=lambda a: a[1])
def hanoi(n,x,y,z):
    if n ==1:
        print(x,' --> ',z)
    else:
        hanoi(n-1,x,z,y)
        print(x,' --> ',z)
        hanoi(n-1,y,x,z)
n = int(input('请输入汉诺塔的层数:'))
hanoi(n,'a','b','c')

心得: 累 !- !

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值