python中是否有一个运算符允许你创建一个你调用的方法,实际修改对象,使它等于它的输出? 基本上我要问的是,如果有类似ruby的感叹号,但是在python中。
ruby中的示例(请注意,如果Ruby方法没有参数,则不需要调用括号):
array = [2, 7, 1]
array.sort
>> [1,2,7]
array
>> [2,7,1]
array.sort!
>> [1,2,7]
array
>> [1,2,7]
现在,我知道在Python中,或者几乎任何语言(包括Ruby),你都可以这样做:
array = sorted(array)
但我只是想知道是否有预定义的特定方式来实现
答案 0 :(得分:4)
不,没有。与大多数语言一样,数组中的方法是否发生变异或返回新数组完全取决于语言实现者。
它不是一个操作符,而是更多的命名约定来表示危险或破坏性的方法。它没有以任何方式强制执行,您可以使用尾随!
定义您喜欢的任何方法。但是,Ruby在实现明确支持这个正式约定方面有点独特。