在类中,我需要完全理解(知道)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个),我想知道哪些是参数和给定的参数。
答案 0 :(得分:1)
实例化类Beacon
所需的参数是name
和description
。参数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
传递。
如您所见,我们不会将任何参数传递为self
。
self
实际上将jack
(变量的名称)作为参数,但它会自动完成,因此您不必担心它。 __init__
方法只需要3个参数,其中2个必须自己通过。
答案 1 :(得分:0)
Self是强制性参数(类的实例),但它已被传递。第一个参数是" name",second" description"等
答案 2 :(得分:-1)
代码中 init 函数的参数是: - 自我 - 名称 - 说明
当您删除description参数时,会出现错误,因为 init 函数正在尝试从参数说明创建属性self.description。