注意到官方文档“内置类型”一节,有如下表述:
“当反转大尺寸序列时 reverse()
方法会原地修改该序列以保证空间经济性。 为提醒用户此操作是通过间接影响进行的,它并不会返回反转后的序列。”
相较于内置函数 reversed() 不改变值而返回重排序列,作为成员方法的reverse() 通过不返回有效值来提示其作用机制,不失为一种直观的区分办法。Python里,不明确用 return 返回值的函数,打印函数返回结果会打印 None ,而不会报错。如下所示:
>>> cars = ["BMW", "Passat", "Audi", "Volvo"]
>>> print(list(reversed(cars)))
['Volvo', 'Audi', 'Passat', 'BMW']
>>> print(cars)
['BMW', 'Passat', 'Audi', 'Volvo']
>>> print(cars.reverse())
None
>>> print(cars)
['Volvo', 'Audi', 'Passat', 'BMW']