返回值的方法是对原始数据类型进行更改的方法

2024-05-13 00:08:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在我学习了不同的数据类型之后,我了解到,一旦从给定类型创建了一个对象,它就具有可以做“事情”的固有方法。 我注意到,有些方法返回一个值,而有些方法则对存储的原始数据进行更改

对于这两种方法有没有具体的术语,对于哪些方法返回值,哪些方法进行更改,有没有直觉或逻辑

例如:

abc= "something"

defg= [12,34,11,45,132,1]

abc.capitalise()   #this returns a value

defg.sort()        #this changes the orignal list

Tags: 对象方法类型原始数据逻辑this事情something
2条回答

Is there any specific term for these two types of methods

改变对象状态的方法(即list.sort())通常称为“mutator”(它“mutator”对象)。返回值的方法没有通用名称-它们可以是“getter”(不带参数并返回部分对象状态的方法)、替代构造函数(对类本身调用并提供构造类实例的替代方法的方法),也可以是只带一些参数的方法,基于参数和对象的状态执行一些计算并返回结果,或者实际上只是执行任何操作(执行一些计算并更改对象的状态并返回值)

is there any intuition or logic as to which methods return a value and which make changes?

有些Python对象是不可变的(字符串、数字、元组等),所以当您处理其中一种类型时,您知道您不会有任何mutator。除了这个特殊情况,不,你得检查一下文件。这里唯一的命名约定是,名称以“set\”开头并接受一个参数的方法将根据其参数更改对象的状态(通常不返回任何内容),而名称以“get\”开头且不接受任何参数的方法将返回有关对象状态的信息并不更改任何内容(您经常会看到前一个名为“setters”,后一个名为“getters”),但与任何约定一样,它只由遵循它的人跟随,所以不要假设因为方法名以“get”或“set”开头,所以它确实会按预期运行

字符串是不可变的,因此所有执行字符串操作的库都将返回一个新字符串

对于其他类型,您必须参考库文档

相关问题 更多 >