[python] Problem s argumentami pri volani metody instancie

Carry carry.f na seznam.cz
Pátek Březen 31 13:29:32 CEST 2017


Dakujem za odpoved. Myslim ze mate pravdu, aj ked tomu este nerozumiem. 
Je mozne ze som tam pridal ten self sam, ale zistil som ze mam starsiu 
verziu modulu ako je ta v odkaze (kde self v definicii nie je). Neviem 
co znamena Callable, este som sa s tym nestretol, budem musiet 
dostudovat tuto tematiku, vidim to poprve. Az teraz som si vsimol ze v 
tom module je za definiciou nejake Callable, ktore spominate. Ako 
vravim, zatial som skor uzivatel. V kazdom pripade pomohlo odstranit 
self parameter z definicie a teda asi rozbehnut ten hack, ktoremu zatial 
nerozumiem. Myslim ze ho zatial necham tak ako je, kedze funguje, 
minimalne nez to pochopim...


mykhal wrote:
> .. kdyz si znova ctu vas prispevek, tak to spis vypada, ze jste
> zkopirovat ten hack nezapomnel, ale pridal jste metode
> multipart_encode navic prvni argument self, coz je mozna trochu lepsi
> reseni. v tom pripade je ale potreba smazat
> multipart_encode = Callable(multipart_encode)
> a vubec celou tridu Callable
> 
>  m.
> 
> On Jul 17, 6:05 pm, Carry <carr... na seznam.cz> wrote:
>> Zdravim,
>>
>> snazim sa pouzit vo svojom skripte modul MultipartPostHandler.py (zhttp://odin.himinbi.org/MultipartPostHandler.py) pre posielanie http
>> requestov serveru ale python hlasi tuto chybu:
>>
>>   File "...\MultipartPostHandler.py", line 79, in http_request
>>      boundary, data = self.multipart_encode(v_vars, v_files)
>> TypeError: multipart_encode() takes at least 3 arguments (2 given)
>>
>> riadok 79 je toto volanie v metode objektu:
>>          boundary, data = self.multipart_encode(v_vars, v_files)
>>
>> ...a signatura metody je:
>>      def multipart_encode(self, vars, files, boundary = None, buf = None):
>>
>> Self sa predava implicitne a posledne dva parametre maju tiez implicitne
>> hodnoty, takze nechapem co mu vadi :-/
>>
>> Prosim o zhovievavost, nakolko som v Pythone newbie.
>> Dopredu vdaka za Vase odpovede.
>> carry
> 


Další informace o konferenci Python