更改一类代码演示的所有对象的变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改一类代码演示的所有对象的变量相关的知识,希望对你有一定的参考价值。

我是Python的新手,我遇到了一个问题。为了简单起见,而不是将所有代码发送给您,我将对其进行概括。我想创建一个具有x和y坐标的类“对象”。

class Object():

    def __init__(self, x, y):
        self.x = x
        self.y = y

object_1 = Object(0,0)
object_2 = Object(20, 20)
object_3 = Object(100, 100)

我创建了Object()类的三个对象,每个对象都有各自的x和y坐标。现在我想添加例如5个到所有三个x坐标,而无需手动输入。有没有一种聪明的方法可以将5加到该类的所有成员上?如果在另一个帖子中回答了我的问题,我很抱歉,但是我能找到任何对我有帮助的东西。预先谢谢你

答案

[为避免单独进行操作,请分组进行,可以在类中构建一个静态方法,该方法向所有给定对象的x添加一个值

@staticmethod
def addX(value, *items):
  for item in items:
    item.x += value

# call
Object.addX(5, object_1, object_2, object_3)

Code Demo

以上是关于更改一类代码演示的所有对象的变量的主要内容,如果未能解决你的问题,请参考以下文章

如何更改共享脚本中的变量,而不影响共享该脚本的所有其他游戏对象?

十闭包函数函数对象装饰器

Java方法

面向对象

Python--函数对象&闭包函数

java入门