使用自参数调用python方法
伙计们,我是Python新手,现在我正在用py学习面向对象。所以,在我的例子中,我有一个类Founds和一个atributte(它稍后会增加),我正在按照正确的标准建模。 但当我从另一个类(Main)调用此方法时,它抛出:使用自参数调用python方法,python,html,flask,web,Python,Html,Flask,Web,伙计们,我是Python新手,现在我正在用py学习面向对象。所以,在我的例子中,我有一个类Founds和一个atributte(它稍后会增加),我正在按照正确的标准建模。 但当我从另一个类(Main)调用此方法时,它抛出: TypeError: val() missing 1 required positional argument: 'fundos' 我调用的主类实例化了这个方法。我更喜欢使用对象,因为系统将在几天内变得复杂起来。我的主要意见是: class Main(烧瓶形式): 系列=
TypeError: val() missing 1 required positional argument: 'fundos'
我调用的主类实例化了这个方法。我更喜欢使用对象,因为系统将在几天内变得复杂起来。我的主要意见是:
class Main(烧瓶形式):
系列=无
fundos=fundos()
@app.route('/resultado',methods=['GET','POST'])
def resultado():
titulo=“returno da pesquisa”
估价=request.form.getlist(“基金选择”)
nomefundo=request.form.get(“fii”)
fundoss=any
fundoss=nomefundo.split(',')
**系列=fundos.val(fundoss)**
我的学生班:
类基金(对象):
#科摩纳达级酒店
lista_fiis=无;
#阿曲布托斯大酒店
定义初始化(自):
#Inicializando como阵列
self.lista_fiis=[]
#佩加基金会
#Gera o relatório no excel
def val(自我、基金):
info_fii={}
在Python中,与java或C++不同,在这里,代码<>这个.<代码>或<代码>可以暗示“-> <代码>,在访问成员属性时,不能删除<代码> Surviv.<代码>。因此,当您使用fundos.val(fundoss)
时,您使用的不是类上定义的fundos=fundos()
变量,而是类本身
关于Python中的OOP和方法,您应该知道的另一件事是,您可以像访问静态方法一样访问在类上定义的任何方法;您只需自己提供实例即可。换句话说,考虑到以下类别:
class-MyClass:
你好(赛尔夫):
打印('Hello!')
myInstance=MyClass()
调用myInstance.hello()
与调用MyClass.hello(myInstance)
相同
因此,您在调用中所做的实际上是直接从类调用该方法,将其作为self
参数提供,而不提供第二个参数
您需要做的是使用self.fundos.val(fundoss)
来使用为Main
创建的实例,而不是类fundos
附言:一般来说,最好不要使用名称阴影,不要对类和实例使用相同的名称,这样这些问题就会更容易发现