2016-10-06 4 views
0

난 그냥 다음 코드를 보았다하고 __init__ 함수 내 함수가파이썬에서 __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 

AFAIK 무엇인지 알고 싶습니다, 실제로 self.program = program 이후이과 완전히 동일합니다 . 내가 함수 둥지에 알 수

class Foo: 
    def __init__(self): 
     pass 

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

유일한 이유는 당신이 단지 생성자 내에서 일부 초기화를 수행하는 기능을 사용하는 경우했지만, 클래스에 노출하고 싶지 않았다.

관련 문제