【问题标题】:Is it possible to set self.var123 as var123 in rest of class definition?是否可以在其余的类定义中将 self.var123 设置为 var123?
【发布时间】:2017-05-03 02:58:58
【问题描述】:

我现在正在做:

class Block:        
    def __init__(self, lenght, height, width, position=(0,0)):

        self.lenght = lenght
        self.height= height
        self.width = width
        self.corner = tuple(position)

我的代码确实是关于块的。
我还定义了计算该块的体积、表面积等的方法。

我的问题是,当我编写这些其他方法时,如果我将length 作为self.length 的变量,我不能缩短我的代码并使其更容易理解吗? 是否可以将lenght 命名一次,而不是在每个方法的开头?

【问题讨论】:

  • 你需要在每个变量的开头加上self.来显示它的作用域
  • 注意:您的代码中长度拼写错误。你最关心的自我是什么?

标签: python class variables


【解决方案1】:

您始终可以在方法中为经常使用的变量创建局部引用:

def some_method(self):
    length = self.length
    # code that uses length

否则你不能在self locals 上创建属性,不。

【讨论】:

  • 所以我必须在每个方法的开头都这样做,但没有办法只做一次?好的,感谢您的快速答复! :)
  • @YarrikV:不,我在回答中已经说过什么了:否则你不能在本地人上创建属性。并不是每个方法都需要 all 属性。
猜你喜欢
  • 2022-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多