技术资讯/技术/电影资讯

Python3.8要不要升级?

OnlyCEC · 10月28日 · 2019年 411次已读

雷锋网 AI 开发者按:距 Python 3.8 稳定版正式发布已经过去了小半个月,不少 Python 常驻用户已经将 Python 更新到了 3.8 版本,也有一些朋友担心代码运行兼容性等问题,依然坚挺在 Python3.7 中。

那么,究竟要不要更新到 Python 3.8?新版本有哪些特点?它能为程序猿们带来怎样的收益?一位外国的 python 忠实小哥哥发了一篇文章,用众多实例详细讲解了 Python 3.8 特别的新功能。雷锋网 AI 开发者也将其更多功能整理编译到后文中,希望这篇文章能帮助你更好的理解 Python 3.8。

Animesh Gaitonde 是 python 的狂热爱好者,下面是他对 python 3.8 中 walrus 运算符的使用心得——

最近,python 社区发布了该语言的 3.8 版本。作为python 的超级粉丝 ,我研究了发行说明,有一个特别的操作符引起了我的注意,该运算符称为 walrus 运算符(:=)或赋值表达式运算符。

这个新运算符(:=)使我们能够将值赋给表达式中的变量。这个符号有点像海象的眼睛和獠牙(因此也称为「海象运算符」)。

walrus 牛刀小试现在让我们看看下面的代码段:

countries = [「India」,「USA」,「France」,「Germany」]if len(countries) < 5:print (“Length of countries is ” + len(countries))

在这个代码段中,我们将调用函数 len()两次。有什么方法可以避免重新调用以提高可读性吗?是的,在改进代码之后,我们得到了以下结果:

country_size = len(countries)if country_size < 5:print (“Length of countries is ” + country_size)

还有进一步改进的余地吗?我们是否可以避免在单独的行中为变量「country_size」赋值?在 Python3.8 中引入的 walrus 运算符可以拯救我们,它使我们可以在 if 语句本身中声明和赋值:

if country_size := len(countries) < 5 :print (“Length of countries is ” + country_size)

0 条回应