Portál AbcLinuxu, 4. května 2025 17:20

Dotaz: Objasnění chyby

28.1.2022 00:10 kuba
Objasnění chyby
Přečteno: 492×
Odpovědět | Admin
Ahoj, mám takový kód
#!/usr/bin/python3

import curses

class app:

	def __init__():
		pass

if __name__ == "__main__":
	stdscr=curses.initscr()
	curses.wrapper(app)

Po spuštění dostanu takovou chybu ohledně argumentů kterou nevím jak opravit, poradí prosím někdo? Děkuji

TypeError: __init__() takes 0 positional arguments but 2 were given
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.1.2022 09:57 X
Rozbalit Rozbalit vše Re: Objasnění chyby
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdyby jsi tu chybu vypsal celou:
curses.wrapper(app)
  File "/usr/lib/python3.5/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
TypeError: __init__() takes 0 positional arguments but 2 were given
Zjistis, ze ten wrapper provede inicializaci a vraci stdscr:
import curses

class app:
	def __init__(self, screen):
		pass

if __name__ == "__main__":
	screen = curses.wrapper(app)
28.1.2022 12:29 kuba
Rozbalit Rozbalit vše Re: Objasnění chyby
Děkuji za objasnění, a když ten parametr 'stdscr' (v tvém případě je to 'screen') nepotřebuji? Mám inicializaci nastavenu globálně před spuštěním app abych ji nemusel tahat po celém kódu? Jak se to tedy dělá?
28.1.2022 14:35 X
Rozbalit Rozbalit vše Re: Objasnění chyby
29.1.2022 17:08 kuba
Rozbalit Rozbalit vše Re: Objasnění chyby
To jsi mi moc neporadil... :(
29.1.2022 21:24 X
Rozbalit Rozbalit vše Re: Objasnění chyby
Jako v cem? Chtel si vedet duvod chyby = voleni __init__() bez parametru. Vyreseno. Podival jsi se do toho zdrojaku vubec?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.