如果我想分配2个值,是否认为分配以下值更像python:
speed, acceleration = 10, 9.8
或者干脆用普通的
speed = 10
acceleration = 9.8
我知道这两个变量是不一样的,在第一个版本中,所有表达式都是在赋值之前计算的,因此在这种区别影响结果的情况下,使用第一个变量是有意义的。(例如,交换值a,b=b,a
非常好)。你知道吗
在两个变量之间的选择不会改变结果的情况下,您什么时候还会使用多重赋值,什么时候会认为多重赋值更符合python的精神?你知道吗
Tags:
我认为这“主要是基于观点的”,但如果没有特别的理由使用多个赋值(例如交换示例或返回值解包),我会坚持使用简单的方法,因为:
也就是说,在有些情况下,我认为多个任务可能会更好。这是相当主观的,但如果我认为这些值是密切相关的(即一个没有另一个就没有意义),那么我可能会把它们放在一行。示例包括一个范围或一组三个坐标中的最小值和最大值。还有一些不太明确的例子,比如“多项式中的系数”(它们紧密相关,但它们的意义和关系却不那么直观)或者你自己的速度和加速度例子,它们也非常相关,但仍然有自己的意义。也许,我潜意识里的经验法则是,如果我觉得它们可能属于同一个} ,我可以把它们放在一起。你知道吗
tuple
或^{像大多数这样的问题一样,都是关于可读性和易变性的。你知道吗
在自己的行中分配每个变量通常在可变性方面得分更高,但在少数情况下,多重分配通过邻近关系传递关系,使理解更容易(在我看来)。你知道吗
例如:
或:
但是,当然,这都是情境性的,如果你有疑问的话,我会错在每行一个作业,因为以后更容易改变。你知道吗
编辑:我忘记了一个不在每行做多个作业的主要原因,我最近遇到了这个问题,所以我想我应该更新答案。你知道吗
如果在具有多个赋值的行上发生错误,则更难调试。有时,您可以使用复杂的列表理解和几个函数调用为多个变量赋值,而分离行并再次调试以找出问题发生的位置只是额外的工作。你知道吗
个人作业+1。你知道吗
交换价值是一个非常有说服力的理由。 但对于简单的赋值,我会选择第二种方法。 它更容易阅读(如果您有10个变量,请参见图)。你知道吗
而且更容易改变。(同样,如果有10个变量,现在需要更改第6个变量的值)。你知道吗
同样从编辑的角度来看,编辑每一行要比试图找到具有其值的变量容易得多。。。你知道吗
相关问题 更多 >
编程相关推荐