如果函数返回的变量不需要,我如何满足PEP8的未使用变量规则?
在Python中,如果你有一个函数,它返回了几个变量,比如:
row, column = search_in_table(table_name, search_for)
有时候你只需要用到函数返回的其中一个变量。但是当这种情况发生时,代码行会被标记为PEP8的未使用变量
警告。
那么我该怎么处理这种情况,才能遵循所有PEP8的规则呢?
1 个回答
21
根据你的喜好,你可以选择以下两种做法中的一种:
按照Python的惯例,对于那些不使用的变量,可以用下划线来替代它们:
# We only need row row, _ = search_in_table(table_name, search_for)
或者:
# We only need column _, column = search_in_table(table_name, search_for)
直接获取函数返回值的某个部分:
row = search_in_table(table_name, search_for)[0]
或者:
column = search_in_table(table_name, search_for)[1]
最后一种方法之所以有效,是因为从技术上讲,Python函数实际上不能返回多个值。相反,它们可以返回一个包含多个值的元组:
>>> def func(): ... # This is equivalent to: return (1, 2) ... return 1, 2 ... >>> func() (1, 2) >>> type(func()) <class 'tuple'> >>> a,b = func() >>> a 1 >>> b 2 >>> a = func()[0] >>> a 1 >>> b = func()[1] >>> b 2 >>>