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(