2016-10-06 11 views
0

私は、次のコードを見てきましたし、私の知る限り、実際にself.program = program以来、このように正確に同じである __init__機能がPythonで__init__コンストラクタで関数を定義することはどういう意味ですか?

def __init__(self): 
    def program(percept): 
     return raw_input('Percept=%s; action? ' % percept) 
    self.program = program 
    self.alive = True 
+1

@CoryKramerこれは複製ではありません。リンクされた質問は、クラス内での '__init__'の意味です。この質問は関数内で関数を定義することです(これは '__init__'となることがあります)。より正確な重複した質問が見つからない限り、これを再開すべきだと私は信じている。 –

+0

@PlatinumAzure OPが混乱しているのであれば、それらを指定する必要があります。私が彼らの質問を理解したところから、彼らは一般的にどのような '__init__'メソッドが使われているのか知りたいと思っていました。 OPが質問を明確にし、それが実際に重複していない場合は、私は再度オープンします。 – CoryKramer

+1

@CoryKramer質問にはいくつかの文法的な問題がありますが、意図は明確です。「このコードを見て、**関数が** __init__関数**で実際に意味することを知りたいと思います。 –

答えて

0

このコード

class Foo: 
    def __init__(self): 
     def program(percept): 
      return raw_input('Percept=%s; action? ' % percept) 
     self.program = program 

を意味以内に何の機能知っていただきたいと思います。私は機能巣に見ることができます

class Foo: 
    def __init__(self): 
     pass 

    def program(self, percept): 
     return raw_input('Percept=%s; action? ' % percept) 

唯一の理由は、あなただけのコンストラクタ内でいくつかの初期化を行うための機能を使用する場合でしたが、クラスでそれを公開したくありませんでした。

関連する問題