Seite 1 von 1

Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 14:31
von Neugierling
...und habe Fragen, auf die ich hier vielleicht eine Antwort bekommen kann, bin also sehr gespannt:

Ich interessieren mich seit Neuem ein wenig für's Programmieren,
und ein Bekannter meinte, Python wäre zum Einsteigen ideal.

Also hab ich mal bei http://www.freenetpages.co.uk/hp/alan.gauld/german/ (gefunden über google angefangen, komme aber schon nicht weiter. Mein Prob:

Wenn ich Python 2.7.6 auf meinem Rechner (Windows 7/64Bit-Version) starte (Start -> Python),
habe ich ja bereits Tcl 8.4 und 8.5 dort enthalten. Trotzdem: wenn ich
% put "Hallo Welt"
eingebe, kommt die Meldung:
SyntaxError: invalid syntax
, und das "%" ist rot gemarkert.

Versuche ich mit der Eingabe von tclsh84 oder 85 tcl zu starten, erhalte ich die Meldung:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
tclsh85
NameError: name 'tclsh85' is not defined
Also, ich würd das schon gern lernen, komme da aber nicht weiter und weiß nicht, wen ich sonst fragen sollte.
Kann mir hier jemand helfen?

Gruß
der Neugierling

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 14:38
von /me
Neugierling hat geschrieben:
% put "Hallo Welt"
Woher hast du diese Syntax? Das ist alles mögliche, aber kein Python.

Wenn ich auf der von dir angegebenen Seite in den Beispielen so etwas wie "Python 2.0 (#8, Oct 16 2000, 17:27:58) [MSC 32 bit (Intel)] on win32" sehe, dann wird mir ganz anders. Python 2.0 ist so etwas von veraltet, dass man eine Menge falsch lernen kann wenn man sich daran orientiert. Das offizielle Tutorial ist auf aktuellem Stand.

Edit: Ah, du wirfst hier TCL und Python durcheinander. Fang mit einem davon an.

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 14:40
von cofi
Willkommen zu Python und hier im Forum!

In Python ist kein Tcl enthalten - Python bringt Tk mit das unter Tcl entstanden ist, nicht dasselbe! - darum macht es auch keinen Sinn es im Python-Interpreter starten zu wollen.

Gleiches gilt fuer den Tcl Befehl: Python versteht den nicht und darum der Fehler, noch dazu: "%" ist der Prompt, den du nicht eingeben musst/solltest.

Und dann solltest du lieber erstmal eine Sprache auf einmal lernen und nicht gleich zwei.

http://learnpythonthehardway.org/ wird oft zum Einstieg empfohlen und dann gibt es noch das Tutorial in der Python Dokumentation (was eher weniger fuer Programmiereinsteiger geeignet ist).

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 14:42
von Neugierling
Diesen Satz finde ich als Beispiel bei http://www.freenetpages.co.uk/hp/alan.gauld/german/, zum Nachmachen empfohlen,
im Absatz "Der Gebrauch von TCL"

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 14:44
von Neugierling
Ok, ich sollte mir also wohl einen anderen Einstieg suchen.
Werde eure Links mal checken, wieviel ich davon kapiere.

Danke für alle Antwort!

Öhm... gibt es sowas auch auf deutsch?
Das war der Grund, warum ich auf dieser v.g. Website gelandet bin...

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 14:47
von darktrym
Ich bin immer davon ausgegangen dass Python eine Bridge über TCL nutzt um TK darzustellen. Anders kann ich mir nicht die unpython. Heransgehensweise beim ein- & auslesen von Werten erklären.

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 15:16
von cofi
In meiner Signatur findest du einen Link zur Uebersetzung des Tutorials fuer Python3.x

Python for Kids wird Einsteigern auch oft empfohlen. Auf lange Zeit fuehrt allerdings kein Weg daran vorbei technisches (!) Englisch verstehen zu koennen.

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 16:11
von /me
Das Tutorial ist mit "Katastrophe" noch sehr wohlwollend umschrieben.

Um einen Quelltext daraus zu zeigen:

Code: Alles auswählen

class Kreis:
    def __init__(self, radius):
        self.radius = radius
    def berechneFlaeche(self):
        import math
        return math.pi*(self.radius**2)
Das Tutorial baut auf Python 2 auf und lässt "Kreis" nicht von "object" erben. Importe werden in Methoden ausgeführt. Der Style Guide for Python Code wird ignoriert. Natürlich wird dann im Text auch noch fälschlicherweise "__init__" als Konstruktor bezeichnet.


An einer anderen Stelle sieht man so etwas:

Code: Alles auswählen

   for i in range(len(wordList)):
       if len(wordList[i]) == 0:
         del(wordList[i])
Hier wird das Antipattern mit range(len()) verwendet und dann auch noch die Liste manipuliert über die man gerade iteriert.

Um mal zu zeigen was passieren kann:

Code: Alles auswählen

>>> data = [1, 2, 1, 1, 3, 1, 1, 4, 1, 5, 1, 6]
>>> for i in range(len(data)):
	if data[i] == 1:
		del(data[i])

Traceback (most recent call last):
  File "<pyshell#8>", line 2, in <module>
    if data[i] == 1:
IndexError: list index out of range
>>> data
[2, 1, 3, 1, 4, 5, 6]
Finger weg von diesem "Tutorial"! :!:

Re: Anfängerfragen...

Verfasst: Donnerstag 13. Februar 2014, 18:32
von Neugierling
Ok, das kann ich als Neugierling natürlich nicht beurteilen. :K

Also werde ich diese Site schließen, und nach etwas sinnvollem schauen.

Das Blöde ist halt, dass immer alles nur in englisch erklärt wird, wobei ich
ja nichts gegen die Vokabellernerei habe, aber man müsste es ja erstmal verstehen können... :?:

Daher ein besonderer Dank erstm,al an Cofi für das deutsche Angebot, aber euch anderen auch! :D