gpt4 book ai didi

python - 在Python中重命名类变量而不使用self

转载 作者:行者123 更新时间:2023-11-30 22:58:38 29 4
gpt4 key购买 nike

不知道如何准确地表达它,但事情就是这样。我有一个脚本,其中每个变量都是全局定义的,但后来我想将脚本转换为类以更好地封装。

但是,我在脚本中使用的所有变量都需要转换为对象变量。我会改变类似的东西

x = 5

进入

self.x = 5

这样做之后,脚本中的所有函数都需要变成类的方法,但是,大多数方法都是数学公式,重构起来就像干净的东西

z = x ** y + x

进入

z = self.x ** self.y + self.x

确实损害了可读性。

因此,作为解决此问题的方法,我一直在方法的开头输入这些非常尴尬的重命名:

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

它使公式可读,但输入所有重命名确实很痛苦,有没有更优雅的方法来做到这一点?

最佳答案

self 只是一个建议名称。我鼓励您使用它,但在某些情况下最好缩短它。

class A:
x = None
y = None

def calculate_z(s):
return s.x ** s.y + s.x

foo = A()
foo.x = 4
foo.y = 2
foo.calculate_z() # 20

有趣的事实:您甚至可以使用 unicode 字符,例如 ®(即在 Python 3 中)。

def calculate_z(®):
return ®.x ** ®.y + ®.x

关于python - 在Python中重命名类变量而不使用self,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100290/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com