[python] Problem s argumentami pri volani metody instancie

mykhal michal.bozon na gmail.com
Pátek Březen 31 13:29:32 CEST 2017


vtip je v tom, ze jste asi zkopiroval definici funkce
multipart_encode, ale zapomnel za ni uvest predefinovani pres tridu
Callable, coz je zrejme osklivy hack, jak krkolomne vyrobit statickou
metodu - tedy takovou, ktera neocekava jako prvni argument self

bezneji se to dela tak, ze nad definici funkce se pouzije dekorator
staticke metody:
@staticmethod

pripadne se pouzije starsi forma zapisu - pod definici funkce se doda:
multipart_encode = staticmethod(multipart_encode)

 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