是否有可能在类定义的其余部分将self.var123设置为var123?

问题描述:

现在我做:是否有可能在类定义的其余部分将self.var123设置为var123?

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命名一次,而不是每个方法的开头?

+0

您需要在每个变量的开始处放置'self.'以显示其范围 – doctorlove

+1

注意:您的代码中的拼写长度错误。你对自己的主要关注点是什么? – Sayse

你总是可以创建一个方法变量您使用了大量的本地参考:

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

self当地人不能以其他方式属性,没有。

+0

所以我会在每个方法开始时都这样做,但是没有办法只做一次?好的,谢谢你的快速回答! :) – YarrikV

+0

@YarrikV:不,我在我的回答中已经说过了什么:*您无法以其他方式在自己的本地人上创建属性*。并不是每个方法都需要* all *属性。 –