这就是Python3.8么,i了i了

本文以娱乐的方式探讨了Python3.8中的新特性——海象表达式,通过示例展示了如何在判断和参数传递中使用它。作者还结合变长参数、匿名函数(lambda)和递归,创造出一些奇特的代码实现,如在参数列表中进行计算和自我调用的lambda函数,增加了Python代码的乐趣。
摘要由CSDN通过智能技术生成

这就是Python3.8么,i了i了

 

0. Disclaimer: 本文纯属娱乐

1. Introduction

前几天我的室友(已被封号)问我了一个文章封面中出现的问题,我竟没有意识到有这种事情:P。看来我还是太菜了(悲)。(文章封面是用Python 3.6跑的,不知3.8有没有修复:P)

这篇文章的启发来自上学期我的一个TA。

Python3.8出来了。其中一个新特性叫“海象表达式”(好像是这个名字)。这个特性看似是能够让我们在判断的时候顺便赋值这样就不用写冗余的代码,例如:

def someTrivialFunc(x): return sum(range(x))
def printIfGe(x, lo):
    if (s := someTrivialFunc(x)) >= lo:
        print(s)
    else:
        print('Too small')

越来越有C的味道了。。。

但是,这个表达式还可以在传参数的时候用:

def whatTheHeck(a, b, c):
    print(a, b, c)
whatTheHeck(x := 1, y := x + 1, z := y + 1)

嗯,有内味儿了。(啥味儿?)

2. Abuse Python3.8

Python的函数可以接受变长参数(star operator):

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值