2016-12-17 5 views
2

は、今私がやっている:クラス定義の残りの部分で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) 

私のコードは確かに、ブロックについてです。
また、そのブロックの体積、表面積などを計算する方法も定義します。

私はこれらの他の方法を書いているときにlengthself.lengthの変数になっていればコードを短くできず、理解しやすくなりましたか? lenghtを一度登録することはできますか?すべての方法の冒頭には登録できませんか?いいえ、

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

あなたがそうでなければself地元の人々の属性をすることはできません。

+0

スコープを表示するには、各変数の先頭に 'self.'を付ける必要があります。 – doctorlove

+1

注:あなたのコードでは、長さの誤りがあります。あなた自身の主な関心事は何ですか? – Sayse

答えて

0

あなたはいつもあなたが多くを使用している変数のための方法でローカル参照を作成することができます。

+0

だから私はすべての方法の始めにそれをしなければならないだろうが、それには一度しか方法はない?さて、高速回答ありがとう! :) – YarrikV

+0

@ YarrikV:いいえ、私はすでに私の答えで述べたものです:*あなたは自己の地元の人に属性を作ることはできません*。すべてのメソッドに* all *属性が必要なわけではありません。 –

関連する問題