Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自参数调用python方法_Python_Html_Flask_Web - Fatal编程技术网

使用自参数调用python方法

使用自参数调用python方法,python,html,flask,web,Python,Html,Flask,Web,伙计们,我是Python新手,现在我正在用py学习面向对象。所以,在我的例子中,我有一个类Founds和一个atributte(它稍后会增加),我正在按照正确的标准建模。 但当我从另一个类(Main)调用此方法时,它抛出: TypeError: val() missing 1 required positional argument: 'fundos' 我调用的主类实例化了这个方法。我更喜欢使用对象,因为系统将在几天内变得复杂起来。我的主要意见是: class Main(烧瓶形式): 系列=

伙计们,我是Python新手,现在我正在用py学习面向对象。所以,在我的例子中,我有一个类Founds和一个atributte(它稍后会增加),我正在按照正确的标准建模。 但当我从另一个类(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

附言:一般来说,最好不要使用名称阴影,不要对类和实例使用相同的名称,这样这些问题就会更容易发现