Python中的函数、闭包、装饰器、lambda表达式、生成器和递归

Python中的函数、闭包、装饰器和lambda表达式

函数

文章对关于函数的所有知识进行了详细的总结和讨论,希望可以给大家带来帮助
首先是最简单的函数定义问题(后面附有代码的执行结果)

def myfunction(name):
  for i in range(3):
      print(f"I love my {
     
     name}!")
# myfunction(123)
print("\n")

下面是函数的健壮性和对于返回值的讨论

def div(x,y):
    if y == 0:
        return "除数不能为0"
    return x / y        # 函数的返回值,使用return语句
# print(div(2,0))
# 如果函数没有被显示地返回一个返回值,则函数也会返回一个none值
print("\n")

函数的传入参数是有严格的对应关系的,否则输出结果就会让你意想不到

def myfunc(s,vt,o):
    return "".join((o,vt,s))
print(myfunc("我","打了","我爸"))
print(myfunc("我爸","打了","我"))
# 要注意函数形参和输出参数的位置一一对应关系
# 使用关键字参数
print(myfunc(o = "我",vt = "打了",s = "我爸"))
# 且普通的参数必须写在关键字参数之前
print("\n")

在这里插入图片描述

在未初始化的情况下可使用默认参数

def myfunc2(name1,name2 = "kk"):
    return "".join((name1,name2))
print(myfunc2("jj"))
print("\n")

在这里插入图片描述

补充一个冷门的知识点,“*”号左边是位置参数(即普通参数),
也可以是关键字参数,但它的右边一定要关键字参数

def abc(a,*,b,c):
    print(a,b,c)
print("\n")

下面是关于参数的收集功能的实例

def parameter(*argument):
    print("total number is {}".format(len(argument)))
    print("the first word is {}".format(argument[0]))
    print(argument)
parameter("我","叫","大沙比")
# 收集参数,其中的内部实现是通过元组来实现
# 利用的是元组的打包和解包的功能
print("\n")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

原创小白变怪兽

帮助原创小白成为怪兽吧!

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

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

打赏作者

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

抵扣说明:

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

余额充值