在python中的__init__构造函数中定义函数意味着什么?

时间:2016-10-06 17:05:20

标签: python constructor init

我刚看到以下代码,想知道其中的功能是什么 def __init__(self): def program(percept): return raw_input('Percept=%s; action? ' % percept) self.program = program self.alive = True 功能意味着

if (!File.Exists("Database.accdb"))

1 个答案:

答案 0 :(得分: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)

我能看到嵌套函数的唯一原因就是你只是使用函数在构造函数中做了一些初始化,但是不想在类上公开它。