python类中的参数

时间:2014-11-02 14:51:34

标签: python

在类中,我需要完全理解(知道)Python中的参数和给定的编码,请使用下面的示例或任何其他更复杂的。

class Beacon(object):

    def __init__(self, name, description):
        self.name = name
        self.description = description
        self.paths = {}

    def go(self, direction):
        return self.paths.get(direction)

    def add_paths(self, paths): 
        self.paths.update(paths)

我可能会尝试通过删除

中的说明来导致错误
def __init__(self, name):

并运行一个测试,我得到的是TypeError:init()只需要2个参数(给定3个),我想知道哪些是参数和给定的参数。

3 个答案:

答案 0 :(得分:1)

实例化类Beacon所需的参数是namedescription。参数self获取您正在实例化的对象"在引擎盖下#34;。 (你不必自己做,python为你做)

例如:

class Person:
     def __init__(self, name, age):
         self.name = name
         self.age = age

要实例化Person类:

jack = Person("Jack", 33)

我们将"Jack"字符串作为name传递,将整数33作为age传递。 如您所见,我们不会将任何参数传递为selfself实际上将jack(变量的名称)作为参数,但它会自动完成,因此您不必担心它。 __init__方法只需要3个参数,其中2个必须自己通过。

答案 1 :(得分:0)

Self是强制性参数(类的实例),但它已被传递。第一个参数是" name",second" description"等

答案 2 :(得分:-1)

代码中 init 函数的参数是:   - 自我  - 名称   - 说明

当您删除description参数时,会出现错误,因为 init 函数正在尝试从参数说明创建属性self.description。