加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

发布时间:2019-10-25 17:50:12 所属栏目:建站 来源:杨鲤萍
导读:本文转自雷锋网,如需转载请至雷锋网官网申请授权。 距 Python 3.8 不变版正式宣布已经已往了小半个月,不少 Python 常驻用户已经将 Python 更新到了 3.8 版本,也有一些伴侣担忧代码运行兼容性等题目,依然坚挺在 Python3.7 中。 那么,毕竟要不要更新到
副问题[/!--empirenews.page--]

本文转自雷锋网,如需转载请至雷锋网官网申请授权。

距 Python 3.8 不变版正式宣布已经已往了小半个月,不少 Python 常驻用户已经将 Python 更新到了 3.8 版本,也有一些伴侣担忧代码运行兼容性等题目,依然坚挺在 Python3.7 中。

那么,毕竟要不要更新到 Python 3.8?新版庇行哪些特点?它能为措施猿们带来奈何的收益?一位外国的 python 忠实小哥哥发了一篇文章,用浩瀚实例具体讲授了 Python 3.8 出格的新成果。雷锋网 AI 开拓者也将其更多成果清算编译到后文中,但愿这篇文章能辅佐你更好的领略 Python 3.8。

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

海象(walrus )运算符

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

最近,python 社区宣布了该说话的 3.8 版本。作为python 的超等粉丝 ,我研究了刊行声名,有一个出格的操纵符引起了我的留意,该运算符称为 walrus 运算符(:=)或赋值表达式运算符。

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

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

  •  walrus 牛刀小试

此刻让我们看看下面的代码段:

  1. countries = [「India」,「USA」,「France」,「Germany」] 
  2.  
  3. if len(countries) < 5: 
  4.  
  5. print ("Length of countries is " + len(countries)) 

在这个代码段中,我们将挪用函数 len()两次。有什么要领可以停止从头挪用以进步可读性吗?是的,在改造代码之后,我们获得了以下功效:

  1. country_size = len(countries) 
  2.  
  3. if country_size < 5: 
  4.  
  5. print ("Length of countries is " + country_size) 

尚有进一步改造的余地吗?我们是否可以停止在单独的行中为变量「country_size」赋值?在 Python3.8 中引入的 walrus 运算符可以挽救我们,它使我们可以在 if 语句自己中声明和赋值:

  1. if country_size := len(countries) < 5 : 
  2.  
  3. print ("Length of countries is " + country_size) 

让我们进一步切磋这个运算符的手段。

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

  • 代码行数与伟大度的均衡

让我们看看下面的例子:

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

多次挪用本钱奋发的函数

在上面的示例中,通过多次挪用运行本钱高的函数来添补列表。但在 walrus 运算符的辅佐下,我们可以将功效存储在一个变量中,并在进一步的计较中重用统一个变量,从而停止多次挪用 get_count()函数。下面是行使 walrus 运算符后的示例:

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

行使 walrus 运算符停止多个函数挪用

从上面的例子可以看出,walrus 运算符镌汰了代码行,使代码更具可读性,从而简化了审视者的事变。另外,它在代码行数和代码伟大度之间到达了更好地均衡。

  • 领略服从低下

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

基于前提添补列表

在上面的例子中,我们正在执行多个操纵。最初,我们建设了一个空列表,然后迭代一个 id 列表,并通过搜查功效是否有用来添补该列表。

通过 walrus 运算符,我们可以简化上面的代码,并将全部内容放在一行中。

Python 3.8 毕竟要不要进级?用过之后的小哥这样说

行使者需停止对 walrus 运算符的错误领略

  • 分块处理赏罚文件

在处理赏罚一个大文件时,我们将文件分成块并读取。每次读取块时,城市搜查该值,并将其作为 while 轮回中的终止前提,代码如下:

  1. chunk = file.read(256) 
  2.  
  3. while chunk: 
  4.  
  5. process(chunk) 
  6.  
  7. chunk = file.read(256) 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读