Probleme mit Klassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Interpreter67
User
Beiträge: 14
Registriert: Samstag 24. Oktober 2020, 16:42

Hallo,

ich bin Python Anfänger und deshalb habe ich mir Tutorials auf Youtube über Klassen angeschaut. Ich habe zum Beispiel dieses Porgramm

Code: Alles auswählen

class Car:
	def __init__(self):
		self.color = "none"
		self.x_position = 5	

	def drive(self, x,):
		self.x_position += x

car1 = Car()
car1.drive(5)
car1.color = "Blau"
print(car1.x_position)
print(car1.color)
bei mir ausprobiert und es hat funktioniert. Ich habe gedacht ich hätte es verstanden und habe mich dann an die eigentliche Klasse aus der Homepage https://trimsh.org/trimesh.viewer.html gewagt.

Code: Alles auswählen

class trimesh.viewer.SceneViewer(scene, smooth=True, flags=None, visible=True, resolution=None, start_loop=True, callback=None, callback_period=None, caption=None, fixed=None, offset_lines=True, line_settings=None, background=None, window_conf=None, profile=False, record=False, **kwargs):

def __init__(scene, smooth=True, flags=None, visible=True, resolution=None, start_loop=True, callback=None, callback_period=None, caption=None, fixed=None, offset_lines=True, line_settings=None, background=None, window_conf=None, profile=False, record=False, **kwargs)
Aber wenn ich das ausführe, kriege ich sofort die Fehlermeldung "SyntaxError: invalid syntax"

Was ist hierbei noch zu beachten? Kann mir jemand dies bezüglich weitere Tipss geben?

Danke, Viele Grüße
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Interpreter67: Da Du weder eine Klasse definieren willst, noch eine `__init__()`-Methode ist das unsinnig irgend etwas mit den Schlüsselworten ``class`` und ``def`` machen zu wollen. Nach ``class`` muss eine Klassendefinition kommen. Aber die Klasse `SceneViewer` gibt es ja bereits. Du willst ja nicht die Klasse schreiben sondern die vorhandene Klasse verwenden.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Interpreter67
User
Beiträge: 14
Registriert: Samstag 24. Oktober 2020, 16:42

Was heißt genau "vorhandene Klasse verwenden" ? Mal angenommen ich möchte ein Modul aus der vorhandenen Klasse in meinem Programm verwenden, wie würde ich das dann machen?

Gibt es dazu Beispiele oder links im Internet?

Danke
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Interpreter67: Na Du schreibst die Klasse dort doch nicht selbst, die gibt es doch bereits. Während Du in dem Beispiel in Deinem ersten Beitrag erst die Klasse selbst geschrieben und danach verwendet hast. Der erste Teil fällt also weg. Du musst die Klasse aufrufen um ein Objekt von dem Typ zu erstellen.

Wobei noch nicht so ganz klar ist was Du machen willst, denn es gibt bei dem `SceneViewer` ja ein zwingend erforderliches Argument das übergeben werden muss: `scene`. Und da müsstest Du ja vorher ein Objekt erstellen vom Typ `trimesh.scene.Scene`. Das wiederum will Daten haben die die Geometrie beschreiben.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten