[PYTHON] Vor- und Nachteile von Progate

Hintergrund Das Startup, für das ich arbeite, entwickelt Dienste, die sich auf Benutzer auf der Progate-Abschlussstufe konzentrieren. Ich habe Progate noch nie verwendet, obwohl ich in Zukunft weiterhin Dienste entwickeln und entwickeln werde. Ich habe mich entschieden, es tatsächlich zu verwenden, weil ich das Niveau der Zielbenutzer kennen und die guten und unglücklichen Punkte im Service meines Unternehmens nutzen wollte.

Was ist Progate ? Eine Programmier-Lernseite für Anfänger ([Progate offizielle Seite](https://prog-8.com/)), die sich für "Programmier-Lernen, das von Anfängern durchgeführt werden kann" einsetzt. Vertiefen Sie nach dem Lernen mit Folienzentrierung Ihr Wissen, indem Sie den Ausgabefluss mit einem Online-Editor wiederholen. Die Benutzeroberfläche hat viele Illustrationen und das Design ist wunderschön. Ich persönlich empfehle, dass Sie von webbasierten Sprachen bis zu Python und Befehlszeilen lernen können, wo es viele Kurse gibt.

Anforderungen Die Anforderungen für diese Zeit sind wie folgt.

――Ich bin seit 3 Jahren Programmierer

  • Ich kann Python den ganzen Weg benutzen, aber ich habe es nie systematisch gelernt --Lernen Sie Progate-Lektionen (von Python I bis Python V) an einem Tag

Ergebnis Es dauerte ungefähr 3 Stunden, und die geschätzte Zeit auf der Seite sollte ungefähr 9 Stunden betragen, also dauerte es wahrscheinlich ungefähr 1/3 der Zeit. Ich habe ein solides Bild der Wörter (Methoden, Vererbung usw.), die ich irgendwie verwendet habe.

Gute Punkte

Schöne Benutzeroberfläche Der größte Teil der Motivation hängt von der Sauberkeit der Benutzeroberfläche und des unten beschriebenen Online-Editors ab. Aufgrund des gesamten Pastellfarbschemas herrscht in jeder Sprache ein Gefühl der Einheit. Viele Anfänger denken, dass die Programmierung bis zum schwarzen Bildschirm der Konsole reicht, und enttäuschen diese Erwartung auf gute Weise.

Online-Editor Ein Online-Editor kann im Übungsteil des Kapitels verwendet werden. Fügen Sie das Programm basierend auf Hinweisen und Kommentaren zum ursprünglich geschriebenen Code hinzu. Grundsätzlich haben wir, abgesehen vom Lernen in diesem Kapitel, bereits ausgefüllt, und wir werden nur den Code des neu erlernten Teils ausfüllen. Schließlich wird es online ausgeführt und das Ergebnis angezeigt, und Fehler und Hinweise werden angezeigt. Insbesondere die Fehlerbenachrichtigung ist wunderbar, und der Fehlercode wird auf leicht verständliche Weise wie folgt aufgeschlüsselt und erklärt.
  • Tatsächlicher Online-Editor (von der offiziellen Website) 公式サイトより

  • Tatsächlicher Code

#Erstellen Sie ein Wörterbuch mit Zeichenfolgenschlüsseln und numerischen Werten und weisen Sie diese den Variablenelementen zu
items={"apple":100,"banana":200,"orange":400}

#Verwenden Sie die for-Anweisung, um einen iterativen Prozess zu erstellen, bei dem die Schlüssel der Wörterbuchelemente einzeln abgerufen werden.
for item_name in items:
    # 「---------------------------------------------Bitte ausgeben
    print("---------------------------------------------")
    #Bitte geben Sie so aus, dass "◯◯ ein △△ Yen ist"
    print(item_name+"Ist ein"+str(items[i])+"Es ist ein Kreis")
  • Konsolenausgang
---------------------------------------------
Traceback (most recent call last):
  File "pana4.py", line 9, in <module>
    print(item_name+"Ist ein"+str(items[i])+"Es ist ein Kreis")
NameError: name 'i' is not defined
  • Hüpfen Sie auf die Progate-Seite Screenshot_20200313_154450.png

Viele Anfänger sind ungeduldig mit Konsolenfehlern, und solche Leute stolpern nicht.

Der Fluss ist natürlich Kapiteleinstellungen, die von Personen verwendet werden können, die noch keine Programmierkenntnisse haben und Python mit Progate noch nicht kennen.
  • Python I ... Grammatik und bedingte Verzweigung --PythonⅡ… Liste und Wörterbuch, wiederholen (für Anweisung, während Anweisung) --PythonⅢ… Funktion (Argument, Rückgabewert)
  • Python IV ... Klassen und Instanzen --Python V ... Klassenvererbung / umfassende Übung

Sie können auch Kapitel für Kapitel studieren. Es gab viele Abbildungen des technischen Teils, und insbesondere die Vererbung war eine gute Zusammenfassung der Teile, die schwer vorstellbar waren.

Leider

Ich kann mich nicht bekommen Ich hatte das Gefühl, es tatsächlich berührt zu haben, und ich konnte ziemlich reibungslos vorgehen. Das liegt daran, dass es an wichtigen Stellen Kommentare gibt und die Fehler höflich sind. Umgekehrt, wenn Sie den Kommentaren folgen, werden Sie ohne tiefes Wissen zur richtigen Antwort gelangen. In Kapiteln, die sich tatsächlich mit Klassen befassen, können Sie Code schreiben, indem Sie den Kommentaren folgen, ohne darüber nachdenken zu müssen, ob es sich um eine Klasse, eine Methode oder eine Variable handelt. Als es an der Zeit war, es tatsächlich zu entwickeln, hatte ich das Gefühl, dass ich mich nicht lösen könnte, wenn ich in einem solchen Teil stecken würde.

Wertung ist ein Rätsel Progate scheint nicht nur die Ausgabe des Codes, sondern auch den Inhalt des Codes mit regulären Ausdrücken zu bewerten. Während es möglich ist, detaillierte Fehlermeldungen auszugeben, besteht daher auch das Problem, dass nur bestimmte Antworten übergeben werden können. Ein Beispiel, das mir aufgefallen ist, ist unten dargestellt.

Wenn die Anweisung in Klammern steht Wenn Sie in der if-Anweisung Klammern vor und nach dem bedingten Ausdruck einfügen, tritt auf der Progate-Seite ein Fehler auf, auch wenn die Ausgabe übereinstimmt.
  • Code, der einen Fehler verursacht
#Wenn die Anzahl 3 oder mehr beträgt, insgesamt_0 zum Preis.Bitte multiplizieren Sie mit 9
if (count>=3):
    total_price*=0.9
  • Ausgabe ausgeben Screenshot_20200313_173005.png

  • Korrekter Code

#Wenn die Anzahl 3 oder mehr beträgt, insgesamt_0 zum Preis.Bitte multiplizieren Sie mit 9
if count>=3:
    total_price*=0.9

Andere Wenn Sie etwas tun, das Sie mit Progate nicht gelernt haben, wird eine Fehlermeldung angezeigt (aber ich denke, es kann nicht geholfen werden). Die Weisheit, die funktioniert hat, ist unten gezeigt.

Missbrauch der Bool-Berechnung Als ich im Kapitel des Teils, in dem die Bedingung mit dem Operator not beurteilt wird, Folgendes schrieb, trat auf der Progate-Seite ein Fehler auf. Es ist unvermeidlich, dass dies nicht lesbar sein soll.
  • Korrekter Code
#Wenn z nicht 77 ist, wird "z ist nicht 77" ausgegeben.
if not z==77:
    print("z ist nicht 77")
  • Der Code, den Sie geschrieben haben
#Wenn z nicht 77 ist, wird "z ist nicht 77" ausgegeben.
if z-77:
    print("z ist nicht 77")
  • Hüpfen Sie auf die Progate-Seite Screenshot_20200315_145759.png

Zeilenvorschubcode Selbst wenn Sie den Teil, der zweimal ausgegeben werden soll, mit "\ n" verbinden, tritt auf der Progate-Seite ein Fehler auf. Oder besser gesagt, Progate kann den Zeilenvorschubcode erklären ...?

Editorumgebung Online-Editor, im Grunde ausgezeichnet, aber nur ein Punkt, über den man sich Sorgen machen muss. Es ist ziemlich stressig, dass die Einrückungslasche 4 Leerzeichen mit halber Breite hat. Da der Einzug durch die for-Anweisung usw. ergänzt wird, verdorren die vier Leerzeichen mit halber Breite und machen ihn zu einem Tabulatorzeichen, obwohl es viele Möglichkeiten gibt, den Einzug zu löschen.

Nicht behandelter Teil Natürlich gibt es viele Teile, die nicht in allen fünf Kapiteln behandelt werden können. Selbst in der Grundgrammatik werden Taples und Sets nicht behandelt, und die Satzverarbeitung (Suchen, Ersetzen, regulärer Ausdruck usw.) wird nicht um 1 mm berührt. Es ist zu wenig Wissen verfügbar, um zu entscheiden, was in Zukunft mit der Programmierung geschehen soll.

Zusammenfassung Ich denke, Progate ist das beste Unterrichtsmaterial für Anfänger, um die Programmierschwelle zu senken. Ich fand es jedoch ungeeignet, praktisches Wissen zu erwerben, um Ingenieur zu werden und herauszufinden, was ich in Zukunft tun wollte.

Recommended Posts

Vor- und Nachteile von Progate
Vor- und Nachteile der Konvertierung der Entwicklungsumgebung von Django in Docker
Python> Es gibt kein #ifdef> Eine andere Lösung> __debug__ Vor- und Nachteile der Verwendung