[PYTHON] Avantages et inconvénients de Progate

Contexte La startup pour laquelle je travaille développe des services qui se concentrent sur les utilisateurs au niveau d'achèvement Progate. Je n'ai jamais utilisé Progate même si je continuerai à développer et développer des services à l'avenir. J'ai décidé de l'utiliser parce que je voulais connaître le niveau des utilisateurs cibles et utiliser les bons et les points malheureux du service de mon entreprise.

Qu'est-ce que Progate Un site d'apprentissage de la programmation pour les débutants ([Site officiel de Progate](https://prog-8.com/)) qui prône «l'apprentissage de la programmation qui peut être fait par des débutants». Après avoir effectué un apprentissage centré sur les diapositives, approfondissez vos connaissances en répétant le flux de sortie avec un éditeur en ligne. L'interface utilisateur a beaucoup d'illustrations et le design est magnifique. Je recommande personnellement que vous puissiez apprendre des langages Web à Python et aux lignes de commande, où il existe de nombreux cours.

Exigences Les exigences pour ce temps sont les suivantes.

――Je suis programmeur depuis 3 ans

  • Vous pouvez utiliser Python à fond, mais vous ne l'avez jamais appris systématiquement. --Apprenez les leçons Progate (de Python I à Python V) en une journée

Résultat Cela a pris environ 3 heures, et le temps estimé sur la page aurait dû être d'environ 9 heures, donc cela a probablement pris environ 1/3 du temps. J'en suis venu à avoir une image solide des mots (méthodes, héritage, etc.) que j'ai utilisés d'une manière ou d'une autre.

Bons points

Belle interface utilisateur La plupart de la motivation dépend de la propreté de l'interface utilisateur et de l'éditeur en ligne décrit ci-dessous. Il y a un sentiment d'unité dans chaque langue en raison de la palette de couleurs pastel générale. De nombreux débutants pensent que la programmation va jusqu'à l'écran noir de la console et déçoit dans le bon sens cette attente.

Éditeur en ligne Un éditeur en ligne peut être utilisé dans la partie exercice du chapitre. Ajoutez le programme au code écrit à l'origine sur la base d'indices et de commentaires. Fondamentalement, à l'exception de l'apprentissage dans ce chapitre, nous avons déjà rempli, et nous ne remplirons que le code de la partie nouvellement apprise. Enfin, il est exécuté en ligne et le résultat est affiché, et les erreurs et les conseils sont affichés. Surtout, la notification d'erreur est merveilleuse et explique le code d'erreur d'une manière facile à comprendre comme suit.
  • Éditeur en ligne réel (à partir du site officiel) 公式サイトより

--Code réel

#Créez un dictionnaire avec des clés de chaîne et des valeurs numériques et attribuez-les aux éléments de variables
items={"apple":100,"banana":200,"orange":400}

#Utilisez l'instruction for pour créer un processus itératif qui récupère les clés des éléments du dictionnaire une par une.
for item_name in items:
    # 「---------------------------------------------Veuillez sortir
    print("---------------------------------------------")
    #Veuillez indiquer que "" est un △△ yen "
    print(item_name+"Est une"+str(items[i])+"C'est un cercle")
  • Sortie console
---------------------------------------------
Traceback (most recent call last):
  File "pana4.py", line 9, in <module>
    print(item_name+"Est une"+str(items[i])+"C'est un cercle")
NameError: name 'i' is not defined
  • Sautez du côté Progate Screenshot_20200313_154450.png

De nombreux débutants sont impatients des erreurs de console et ces personnes ne trébuchent pas.

Le flux est naturel Paramètres de chapitre qui peuvent être utilisés par les personnes novices en programmation et novices en Python avec Progate.

--Python I ... Grammaire et branchement conditionnel --PythonⅡ… Liste et dictionnaire, répéter (pour instruction, instruction while) --PythonⅢ… Fonction (argument, valeur de retour) --Python IV ... Classes et instances --Python V ... Héritage de classe / exercice complet

Vous pouvez également étudier chapitre par chapitre. Il y avait de nombreuses illustrations de la partie technique, et en particulier, la partie difficile à imaginer était résumée de manière agréable.

Malheureusement

Je ne peux pas me comprendre J'avais l'impression de l'avoir touché, et j'ai pu procéder assez facilement. C'est parce qu'il y a des commentaires à des points clés et que les erreurs sont polies. Cependant, à l'inverse, si vous suivez les commentaires, vous arriverez à la bonne réponse sans connaissance approfondie. Dans les chapitres qui traitent réellement des classes, vous pouvez écrire du code en suivant les commentaires sans avoir à vous demander s'il s'agit d'une classe, d'une méthode ou d'une variable. Quand est venu le temps de le développer, j'ai senti que si j'étais coincé dans une telle partie, je ne pourrais pas le résoudre moi-même.

La notation est un mystère Progate semble marquer non seulement la sortie du code, mais également le contenu du code avec des expressions régulières. Par conséquent, s'il est possible d'émettre des messages d'erreur détaillés, il y a aussi le problème que seules des réponses spécifiques peuvent être transmises. Un exemple que j'ai remarqué est montré ci-dessous.

Si l'instruction entre parenthèses Si vous mettez des parenthèses avant et après l'expression conditionnelle dans l'instruction if, une erreur se produira du côté Progate même si la sortie correspond.

--Code qui provoque une erreur

#Lorsque le nombre est de 3 ou plus, total_0 au prix.Veuillez multiplier par 9
if (count>=3):
    total_price*=0.9

--Progate sortie Screenshot_20200313_173005.png

--Correct code

#Lorsque le nombre est de 3 ou plus, total_0 au prix.Veuillez multiplier par 9
if count>=3:
    total_price*=0.9

Autres Si vous faites quelque chose que vous n'avez pas appris avec Progate, vous obtiendrez une erreur (mais je pense que cela ne peut pas être aidé). La sagesse qui a fonctionné est illustrée ci-dessous.

Utilisation abusive du calcul booléen Quand j'ai écrit ce qui suit dans le chapitre de la partie qui juge la condition en utilisant l'opérateur not, une erreur s'est produite du côté Progate. Il est inévitable que cela ne soit pas censé être lisible.

--Correct code

#Si z n'est pas 77, la sortie "z n'est pas 77"
if not z==77:
    print("z n'est pas 77")
  • Le code que vous avez écrit
#Si z n'est pas 77, la sortie "z n'est pas 77"
if z-77:
    print("z n'est pas 77")
  • Montez du côté Progate Screenshot_20200315_145759.png

Code de saut de ligne Même si vous connectez la partie qui est censée être sortie en deux fois avec "\ n", une erreur se produira du côté Progate. Ou plutôt, Progate peut expliquer le code de saut de ligne ...?

Environnement de l'éditeur Éditeur en ligne, fondamentalement excellent, mais un seul point à s'inquiéter. Il est assez stressant que l'onglet de retrait comporte 4 espaces demi-largeur. Comme le retrait est complété par l'instruction for, etc., même s'il existe de nombreuses possibilités de supprimer le retrait, les quatre espaces demi-largeur se fanent et en font un caractère de tabulation ...

Pièce non gérée Bien entendu, de nombreuses parties ne peuvent pas être couvertes dans les cinq chapitres. Même dans la grammaire de base, les taples et les ensembles ne sont pas couverts, et le traitement des phrases (recherche, remplacement, expression régulière, etc.) n'est pas mentionné par 1 mm. Trop peu de connaissances sont disponibles pour décider quoi faire de la programmation à l'avenir.

Résumé Je pense que Progate est le meilleur matériel pédagogique pour les débutants pour abaisser le seuil de programmation. Cependant, j'ai senti que c'était un outil inadapté pour acquérir des connaissances pratiques pour devenir ingénieur et trouver ce que je voulais faire dans le futur.

Recommended Posts

Avantages et inconvénients de Progate
Avantages et inconvénients de la conversion de l'environnement de développement de Django en Docker
python> Il n'y a pas de #ifdef> Une autre solution> __debug__ Avantages et inconvénients de l'utilisation