[PYTHON] Avantages et inconvénients de Progate
Contexte h1>
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 h1>
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 h1>
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 h1>
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 h1>
Belle interface utilisateur h2>
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 h2>
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")
---------------------------------------------
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
De nombreux débutants sont impatients des erreurs de console et ces personnes ne trébuchent pas.
Le flux est naturel h2>
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 h1>
Je ne peux pas me comprendre h2>
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 h2>
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 h3>
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
--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 h3>
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 h4>
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
Code de saut de ligne h4>
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 h2>
É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 h2>
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.