Python 如何从外部函数为类方法的参数赋值?
Python 如何从外部函数为类方法的参数赋值?,python,class,Python,Class,因此,我正在学习python的项目是FreeCodeCamp中列出的项目之一。赋值需要一个类之外的函数,该类将调用其内部的方法。在我编写的伪代码中,实验函数需要调用draw方法,但draw方法需要实验函数中给定的参数。如何从我的实验函数中为方法赋值?只需像这样对实例调用方法:my\u instance.method\u name() 另外,您在draw方法中缺少self参数,该参数表示您调用该方法的实例您没有编写伪代码,它是真实的Python代码。学习编程语言还意味着犯错误,找到导致错误的模式,
因此,我正在学习python的项目是FreeCodeCamp中列出的项目之一。赋值需要一个类之外的函数,该类将调用其内部的方法。在我编写的伪代码中,实验函数需要调用draw方法,但draw方法需要实验函数中给定的参数。如何从我的实验函数中为方法赋值?只需像这样对实例调用方法:
my\u instance.method\u name()
另外,您在
draw
方法中缺少self
参数,该参数表示您调用该方法的实例您没有编写伪代码,它是真实的Python代码。学习编程语言还意味着犯错误,找到导致错误的模式,并阻止您找到它们。不要错过这个机会……上面说“Bar”对象没有属性“draw”@GirthyLampost您的缩进是错误的def draw
不应该在def\uuuu init\uuu
@GirthyLampost您的draw
方法中如果缩进过度,它就在您的\uuu init\uuu
方法中。同时也忽略了所有self。
在实例属性之前,没有定义numballs
class Bar(object):
def__init__(self, **kwargs):
self.__dict__.update(kwargs)
def draw(numballs):
print(numballs)
def experiment(bar, numballs):
//i need to use bar object to call on the draw method but draw method requires numballs
bar1 = Bar(a=4, b=5, c=3, d=2)
numballs = 5
experiment(bar1, numballs)
class Bar(object):
def __init__(self, **kwargs):
self.__dict__.update(kwargs)
def draw(self, numballs):
print(numballs)
print(self.a, self.b) # to print instance attribut
def experiment(bar: Bar, numballs: int):
bar.draw(numballs)