Seite 1 von 1

Unterfunktionen Python (js)

Verfasst: Dienstag 26. März 2019, 17:59
von Hypec
Hallo,
ich wollte fragen ob so etwas hier auch in Python möglich ist wenn ja wie? Das ganze ist Javascript mit P5 und wird in JS über test.add(5) aufgerufen. Funktioniert so etwas ähnliches auch in Python. Wenn ja wie heißt das ganze und wenn es so etwas nicht geben sollte wie kann ich das anderst lösen?

Code: Alles auswählen

function test() {
this.testvar = 5;
}

test.prototype.add = function(n) {
this.testvar += n;
}

Re: Unterfunktionen Python (js)

Verfasst: Dienstag 26. März 2019, 18:30
von __deets__
Das ist Objektorientierung in JS, und eine Klasse ist alles was du dazu brauchst.

Code: Alles auswählen

class Test:
     def __init__(self):
           self.testvar = 5

     def add(self, n):
           self.testvar += n

Re: Unterfunktionen Python (js)

Verfasst: Dienstag 26. März 2019, 19:45
von __blackjack__
@Hypec: Dein JavaScript funktioniert so nicht weil es `test.add()` nicht gibt – oder Du zeigst da etwas entscheidendes nicht. Und das ist mittlerweile auch veraltet prototypbasierte Objekte zu erstellen. JavaScript hat mittlerweile auch ein ``class``-Schlüsselwort, beziehungsweise hat das mittlerweile eine Bedeutung und ist nicht einfach nur reserviert. In JavaScript würde das so aussehen:

Code: Alles auswählen

class Test {
  constructor() {
    this.testvar = 5;
  }
  
  add(n) {
    this.testvar += n;
  }
}
Das sieht dem Python-Code doch recht ähnlich.

Das ist übrigens auch keine Unterfunktion sondern eine Methode – egal ob man das nun prototypbasiert oder mit ``class`` macht. P5 hat mit der ganzen Sache auch nichts zu tun.

Re: Unterfunktionen Python (js)

Verfasst: Dienstag 26. März 2019, 19:58
von Hypec
__blackjack__ hat geschrieben: Dienstag 26. März 2019, 19:45 Dein JavaScript funktioniert so nicht weil es `test.add()` nicht gibt
Stimmt du hast recht ich hab einen Teil vergessen den ich sonst über die console Eingebe. Aber danke für eure Hilfe es hat so geklappt.