python类中的参数

python类中的参数,python,Python,在一个我需要完全理解的类中,当用Python编码时,请使用下面的例子或其他更复杂的例子 class Beacon(object): def __init__(self, name, description): self.name = name self.description = description self.paths = {} def go(self, direction): return self.pa

在一个我需要完全理解的类中,当用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,请告诉我哪些是参数,哪些是这里给定的参数。

代码中init函数的参数是: -自我 -名字 -描述


删除description参数时,会出现错误,因为init函数正试图从参数描述创建属性self.description

Self是类的强制参数实例,但它已传递。第一个参数是name,第二个描述等。

实例化类信标所需的参数是name和description。参数self获取您正在后台实例化的对象。您不必自己做,python会为您做

例如:

class Person:
     def __init__(self, name, age):
         self.name = name
         self.age = age
要实例化Person类,请执行以下操作:

杰克

我们将Jack字符串作为名称传递,将整数33作为年龄传递。 正如你所看到的,我们不会将任何参数作为self传递。
self实际上将变量名作为参数,但它是自动完成的,所以您不必担心它__init_u;方法只接受3个参数,其中2个必须自己传递。

提示:self是隐式传递的。name和description是参数。self是类实例的self reference-类似于其他编程语言中的self。这是否意味着self也是一个参数?该错误实际上是由于OP试图创建一个实例并传递了错误数量的参数造成的。如果是使用不存在的参数的init方法,则错误文本会有所不同。如果要生成代码块,请使用4个空格缩进每行(不包括空行)。这意味着jack作为变量是1个参数替换self。现在,init函数如何与go和add_路径函数相关?u init_uu与add_路径函数无关__init_uuu声明空字典{},没有任何元素,使用add_u路径函数,您可以通过将键/值对作为路径传递给add_u路径函数调用来更新self.paths字典。go函数是什么,它与add_u路径有何关系,或者它们的工作方式是否不同?跟我说实话,我想在这儿买点东西。