Effective Python:(10)

Effective Python提供90条新颖的Python3编程技巧,可以让我们写程序更加灵活,代码更加整洁而易于维护,这对于商业化系统代码的重要性不言而喻。

前面两条主要介绍切片的实用好玩的用法,这一条里反而建议不用切片,这是什么场景呢?这个场景其实也很常见,就是从一个元组中取出位于起始或结束位置的其中某几项,这样的场景其实很常见,我们最容易想到的方法就是切片,通过切片把需要的部分切出来,然后通过下标进行索引访问数组元素。

但是这样写起来有些繁琐,程序不是很简洁清晰,所以作者推荐了用带星号的unpacking方法,也就是带通配符的拆分,直接一步到位搞定。unpacking我们介绍的之前的条目中有讲解,可以把一个元组通过unpacking操作直接拆解成多个变量,直接使用,免去数组下标的索引的麻烦,但这个unpacking有个限制,就是必须要求拆分的变量数目和顺序必须和元组元素数量相同。

用带星号的unpacking,可以把需要取出的元素用普通变量列出,其余用一个带星号变量列出,用来表示其余所有元素,而不用关心有多少个。这样代码就整洁清晰多了,对于维护修改又不必关心数组长度或者其他元素是否被改动过,从而避免了不必要的逻辑错误的出现。

另外需要再说明下带星号的拆分要注意的两点:一个是拆分出来的必须要有普通变量,不能只有一个带星变量,这样会报错,另外第二个就是不能同时包括两个带星变量,这样会导致系统搞不清楚要定位到哪里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值