Path: csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Jan Schmidt Newsgroups: de.comp.lang.python Subject: =?UTF-8?Q?Re:_Anf=c3=a4ngerfrage?= Date: Sat, 14 Jan 2023 20:31:24 +0100 Message-ID: <0c9de4fd-793f-9446-76dd-d81e9ff758da@gmx.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: solani.org; logging-data="1157229"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 Cancel-Lock: sha1:MHp9IFeZV3nElDpDIxNiyEw6bc0= In-Reply-To: X-User-ID: eJwFwYEBwCAIA7CXVGiL5yCM/09YAuNmyQk6BvPWXSd1+n55HYeGsvbsBK5YS14IpdUL0LpKCkrc0mQEkujxL/u1M88PtB8Zrw== Xref: csiph.com de.comp.lang.python:5962 On 14.01.2023 20:09, Stefan Ram wrote: > Jan Schmidt writes: >> print("Result: %s" % params.get_result()) >> erzeugt >> Result: {'abc': 21.1, 'def': 21.400000000000002} >> Ich (perl) würde das als Hash bezeichnen. Wie kann ich die einzelnen >> Werte durchiterieren und z.B. so ausgeben? > > Streuspeicherung ("hash") ist eine Implementationstechnik. > Die Schnittstelle wird eher mit "Wörterbuch" ("dictionary", > "dict") bezeichnet. > >> for i in params.get_result().keys: >> print("key: %s, value %s" %(i, params.get_result()[i])) > > Hast Du Deine Frage jetzt damit selber beantwortet? hab ich? das war geraten... Testen kann ich das grad nicht, weil das Gerät, welches die Daten liefert, gerade offline ist (PV-Wechselrichter). >> params = ParameterParser(parameter_definition) >> Dort gibts >> def get_result(self): >> return self.result >> gefüllt wird result so >> if self.is_integer_num (value): >> self.result[title] = int(value) >> else: >> self.result[title] = value > > Ich weiß nicht, ob es dazu jetzt eine Frage gibt, > und, wenn ja, welche. nein, keine Frage dazu. Das ist die Erklärung, wie die Werte dort hineinkommen. Python ist syntaktisch eben doch etwas anders als perl / C. Jan