擅长:python、mysql、java
<blockquote>
<p>Is there any specific term for these two types of methods</p>
</blockquote>
<p>改变对象状态的方法(即<code>list.sort()</code>)通常称为“mutator”(它“mutator”对象)。返回值的方法没有通用名称-它们可以是“getter”(不带参数并返回部分对象状态的方法)、替代构造函数(对类本身调用并提供构造类实例的替代方法的方法),也可以是只带一些参数的方法,基于参数和对象的状态执行一些计算并返回结果,或者实际上只是执行任何操作(执行一些计算并更改对象的状态并返回值)</p>
<blockquote>
<p>is there any intuition or logic as to which methods return a value and which make changes?</p>
</blockquote>
<p>有些Python对象是不可变的(字符串、数字、元组等),所以当您处理其中一种类型时,您知道您不会有任何mutator。除了这个特殊情况,不,你得检查一下文件。这里唯一的命名约定是,名称以“set\”开头并接受一个参数的方法将根据其参数更改对象的状态(通常不返回任何内容),而名称以“get\”开头且不接受任何参数的方法将返回有关对象状态的信息并不更改任何内容(您经常会看到前一个名为“setters”,后一个名为“getters”),但与任何约定一样,它只由遵循它的人跟随,所以不要假设因为方法名以“get”或“set”开头,所以它确实会按预期运行</p>