Hallo,
ich hatte bei einer Funktionsdefinition immer den Fehler "AttributeError: 'function' object has no attribute 'CW" bekommen.
Hat etwas gedauert bis ich gemerkt hatte, das es am Namen liegt und eine Funktion nicht "Motor" heißen darf.
"motor" ist kein Problem.
Des Weiteren kann man auch keine Variable "Motor" übergeben.
Gruß Thomas
Robo Pro Coding - Fehler bei Funktionsnamen
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
-
- Beiträge: 498
- Registriert: 03 Jan 2018, 22:04
Re: Robo Pro Coding - Fehler bei Funktionsnamen
Das liegt daran, dass Du zunächst eine Klasse "Motor" importierst, die dann aber mit der Funktion Motor "überschreibst". Sobald das Programm die Funktion Motor sieht, ist der Name Motor an die Funktion gebunden und die Klasse Motor "weg". Die Funktion hat das angefragte Attribut nicht.
Grundsätzlich darf eine Funktion "Motor" heißen, nur kannst Du nicht die Klasse Motor importieren und eine Funktion Motor gleichzeitig verwenden. Du kannst auch eine Variable "Motor" nennen, solange Du die Klasse "Motor" nicht verwenden möchtest. Ob dies sinnvoll ist, sei mal dahingestellt, eigentlich werden Variablen und Funktionen immer kleingeschrieben, Klassen verwenden CamelCase (<https://en.wikipedia.org/wiki/Camel_case>).
Nur nebenbei: ist schlechter Stil, aber daran kannst Du nix ändern, das hat ft "verbockt". 
Grundsätzlich darf eine Funktion "Motor" heißen, nur kannst Du nicht die Klasse Motor importieren und eine Funktion Motor gleichzeitig verwenden. Du kannst auch eine Variable "Motor" nennen, solange Du die Klasse "Motor" nicht verwenden möchtest. Ob dies sinnvoll ist, sei mal dahingestellt, eigentlich werden Variablen und Funktionen immer kleingeschrieben, Klassen verwenden CamelCase (<https://en.wikipedia.org/wiki/Camel_case>).
Nur nebenbei:
Code: Alles auswählen
from fischertechnik.controller.Motor import Motor

Re: Robo Pro Coding - Fehler bei Funktionsnamen
Danke. Hätte ich auch selber drauf kommen können.
Ich bin erst einen Tag mit der GUI und Python unterwegs.
Bei letzterem ist die KI ein Segen.
Ich bin immer wieder von der Kreativität von ChatGPT überrascht.
"Du hast nur einen Motor, soll ich deine Routinen auf 4 Motoren erweitern. Du hast auch Schalter, soll ich sie auch abfragen?"
Gruß Thomas
Ich bin erst einen Tag mit der GUI und Python unterwegs.
Bei letzterem ist die KI ein Segen.
Ich bin immer wieder von der Kreativität von ChatGPT überrascht.
"Du hast nur einen Motor, soll ich deine Routinen auf 4 Motoren erweitern. Du hast auch Schalter, soll ich sie auch abfragen?"
Gruß Thomas