Python – die besten Beiträge

**kwargs in __init__() Methode und "self" in Python?

Hey Leute,

ich habe heute begonnen, Kivy zu lernen. Kivy ist ein Python Framework, für plattformübergreifende Apps. Ich bin allerdings noch ein Anfänger in Python und da man für Kivy OOP beherrschen muss. Habe ich mir eben ein paar Tutorials angeschaut und das Konzept von Klassen auch verstanden und schon etwas geübt. Auch das "self" eine Referenz auf die aktuelle Instanz ist habe ich kapiert. Aber wieso kann man aus einer Methode auf die Instanzvariablen nur zugreifen, wenn vor diesen "self" steht?

Und meine zweite Frage ist, wozu bei der Initialisierung der __init__() Methode manchmal noch so ein **kwargs steht. Also hier mal ein Beispielcode:

class MyGrid(GridLayout):

  def __init__(self, **kwargs):

    super().__init__(**kwargs)

    self.word_list = ["python", "java", "ruby", "javascript"]

    self.guess_word = []

    self.secret_word = ""

    self.remaining_guesses = 6

    self.img_path = "img/hangman_{}.png"

    self.create_game_layout()

    self.new_game()

Das ist jetzt mal nur die __init__() Methode einer MyGrid Klasse die von GridLayout erbt.

Ach ja. Was dieses "super()" bedeutet habe ich auch nicht so ganz verstanden.

Ich wäre sehr sehr dankbar wenn mir jemand helfen könnte. Denn ich will für eine Projektarbeit im Informatikunterricht umbedingt eine Android Kivy App für Hangman programmieren. Aber dafür muss ich diese Themen erst einmal verstehen.

LG Code Snake

Programmiersprache, Python, Instanz, Python 3, Objektorientierte Programmierung, App Programmieren

Wie habt ihr Programmieren gelernt oder würdet es tun?

Die Frage richtet sich an Menschen, die nicht Informatik studiert haben, oder davor schon programmieren konnten. Wie habt ihr Programmieren gelernt oder würdet es angehen, wenn ihr euch jetzt dafür entscheiden würdet?

1. Durch das Lesen von Büchern und Tutorials: Eine Möglichkeit Programmieren zu lernen, ist durch das Studium von Büchern und Online-Tutorials (lesen). Indem man die Theorie und Beispiele lernt, kann man grundlegende Kenntnisse erwerben.

2. Durch das Anschauen von Online-Kursen und -Videos: Man kann auch Online-Kurse und -Videos ansehen, um Programmiersprachen und -konzepte zu erlernen. Durch das Ansehen von Videos kann man Konzepte besser verstehen und den Experten beim Programmieren über die Schulter schauen. Dazu gibt es ja auch kostenloses Material auf Youtube oder günstiges auf Udemy.

3. Mit einem Spiel: Eine unterhaltsame Möglichkeit, Programmierung zu erlernen, ist durch das Spielen von Spielen, die speziell dafür entwickelt wurden, Programmierfähigkeiten zu vermitteln. Da gibt es auch gute kostenlose Angebote. Ein Beispiel ist Scriptfighter, bei dem man Javascript lernt, indem man seinen Code gegen den Standardcode oder den Code eines anderen Spielers antreten lässt. Dieser wird dann von der Figur ausgeführt.Mit solchen Spielen kann man spielerisch Kenntnisse erwerben und seine Fähigkeiten vertiefen.

4. Einen Kurs besuchen: Eine weitere Möglichkeit, Programmierung zu erlernen, ist durch den Besuch von Kursen. der Vorteil hier wäre definitiv, dass man Fragen stellen kann und an praktischen Übungen teilnimmt. Kurse sind eine gute Möglichkeit, gezielt Kenntnisse in einer Programmiersprache oder einem Konzept zu erwerben und eine strukturierte Herangehensweise an das Lernen zu bekommen. Dafür muss man hierfür tiefer in die Tasche greifen.

Durch das Lesen von Büchern und Tutorials (lesen) 67%
Einen Kurs besuchen 17%
Durch das Anschauen von Online-Kursen und -Videos 13%
Mit einem Spiel 4%
HTML, programmieren, Java, JavaScript, Programmiersprache, Python

Wie bei Python mit "If" überprüfen ob Variable mit bestimmten Wert in Liste enthalten ist?

Ich muss für die Schule ein Spiel in Python programmieren. Problem dabei: Uns wurde noch nicht wirklich viel beigebracht und daher verstehe ich nicht, wie ich gewisse Sachen programmieren soll.

Folgendes Szenario bereitet mir nun Schwierigkeiten:

Das Programmierte ist kein Ausschnitt aus meinem Spiel, sondern einfach das gleiche Schema, wie die eine Stelle in meinem Spiel (sonst wäre es zu kompliziert zum verstehen). x hat z.B nicht immer den Wert 5, dieser ändert sich im Verlaufe des Programms.

Ich möchte überprüfen, ob eine der Variable in der Liste einen Wert zwischen 0 und 10 hat. Ist es möglich, dies mit einem "if" Befehl zu lösen? Was müsste bei "Bedingung_erfüllendes_Element" stattdessen stehen? Ich kann da ja nicht ">=0 and <=10" hinschreiben. Das einzige, was ich überprüfen kann, ist ob eine bestimmte Variable in der Liste ist. (z.B if x in liste), aber das möchte ich ja nicht, ich möchte auf den WERT der vorhandenen Variablen überprüfen.

Ich habe es auch schon mit einer For-Schleife probiert, aber da ist da Problem, dass wenn zwei Elemente, welche die Bedingung erfüllen, vorkommen, dass die folgenden Befehle doppelt ausgeführt werden. Es soll aber, für jedes Element, welches die Bedingung erfüllt, ein anderer Text geprintet werden.

Ich brauche wirklich nur diesen einen, eigentlich simplen Befehl, der überprüft, ob es in der Liste mindestens ein Element hat, welches einen bestimmten Wert hat.

Bild zum Beitrag
programmieren, Informatik, Programmiersprache, Python

Meistgelesene Beiträge zum Thema Python