Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: =?UTF-8?Q?Thomas_G=c3=bcttler?= Newsgroups: de.comp.lang.python Subject: Re: [Python-de] __init__ ? Date: Thu, 2 Nov 2017 15:22:01 +0100 Lines: 60 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Trace: news.uni-berlin.de sdDsq4wzu4cXdOTV5vOd/gUkMPUhNBVh+sUqf9xYJX3A== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 In-Reply-To: Content-Language: de-DE X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: Xref: csiph.com de.comp.lang.python:4997 Prinzipel geht das, aber bei Datentypen die mutable sind (zB Listen) kann es zu Konsequenzen kommen, die du ggf nicht haben willst. class Foo(): my_list = [] Dann teilen sie alle Instanzen der Klasse die gleiche Liste. Also bei foo= Foo() foo.my_list.append(1) foo2 = Foo() foo2.append(2) print foo2 wirst du ggf erstaunt sein. Am 02.11.2017 um 15:09 schrieb Hermann Riemann: Bisher habe ich etwas wie class Cl(): def __init__(self): self.x=1 gemacht. So wie das in Buecher ueblich ist. In einer raspberry pi Zeitschrift habe ich gesehen dann man stattdessen auch class Cl(): x=1 schreiben kann. Hat funktioniert. ( mit c=Cl(); print(c.x); c.x=2; print(c.x) ) Hermann fragend ob er jetzt viele __init__ bedenkenlos ersetzen kann. -- Thomas Guettler [1]http://www.thomas-guettler.de/ I am looking for feedback: [2]https://github.com/guettli/programming-guidelines References Visible links 1. http://www.thomas-guettler.de/ 2. https://github.com/guettli/programming-guidelines