Pourquoi j'ai choisi Python

Bonjour. Cette fois, j'ai choisi le langage de programmation "Python" que j'étudie actuellement, et en touchant d'autres périphériques, je vais l'écrire à la place d'un mémo pour moi-même.

Qu'est-ce que Python?

En premier lieu, "Python" est un langage de programmation de script à usage général utilisé dans divers domaines. En premier lieu, les langages de programmation sont divisés en langages de script qui peuvent être exécutés immédiatement en les écrivant dans un éditeur de texte et en langages de compilateur qui ne sont activés qu'en les convertissant en langages machine. (Détails omis car c'est difficile) Je cherchais un langage de script relativement facile à apprendre et un langage polyvalent qui pourrait être utilisé sur le Web (serveur). En tant que langage majeur qui s'applique, "Perl" qui a été utilisé sur les babillards et les blogs depuis longtemps, "PHP" qui revendique une vitesse considérable sur le Web en l'incorporant en HTML, et un japonais complètement orienté objet et facile à comprendre "Ruby" qui est très populaire au Japon, et triste "Python" qui n'est pas populaire au Japon même s'il est assez important dans le monde (rires) Il semble que Python n'était pas populaire parce que Ruby est populaire au Japon. Grâce à cela, il est difficile de trouver des matériaux et des questions / réponses.

Alors pourquoi avez-vous choisi Python?

Perl, Ruby, Python Ces trois sont souvent comparés, et un programmeur les compare aux trois grandes vertus d'un programmeur.

Tiré de "Python as a Foreign Language" par le hacker Perl Kokai Amane

La "paresse" signifie que si vous répétez la même chose 100 fois, vous pouvez facilement écrire un programme en 10 étapes. Je pense que Perl est le plus fort dans ce domaine.

Vient ensuite "Impatience". Cela signifie que l'ordinateur devient "rapide". Comme je l'ai dit, «j'ai un processeur à haute vitesse, mais je ne fais rien», je pense que Ruby est la meilleure solution pour la volonté d'utiliser des ordinateurs. Par exemple, dans Ruby, il existe un style d'expansion des chaînes de caractères et des valeurs numériques à portée de main. Vous pouvez le faire sans trop attendre. En conséquence, Ruby on Rails est sorti, et Ruby a rompu avec cela.

«Hubris» signifie «une estime de soi excessive qui punit les gens» et «le tempérament d'écrire et de maintenir des programmes qui ne sont pas embarrassants pour les gens». C'est toujours Python. "

Il a dit que Python est un langage arrogant. Qu'est-ce que ça veut dire? La politique de Python est "un programme qui n'est pas gênant pour les gens", et Python fondamentalement (à des degrés divers) ne change pas beaucoup la longueur du code en fonction de la compétence en programmation. J'avais l'impression d'avoir un peu un morceau, et Python était plus une question de lisibilité que de longueur de code. Il existe des expressions régulières, mais il est préférable de les écrire de manière simple et redondante si la visibilité est sacrifiée. Je pense qu'il y a aussi de telles caractéristiques. ** Python est la lisibilité - un langage qui met l'accent sur la «lisibilité». ** **

L'une de ses fonctionnalités lisibles est la technique d'expression facile à lire en abaissant l'indentation. En Python, tandis que, pour, if.def (fonction), classe (objet), etc., vous devez ajouter: à la fin de la ligne et ouvrir un retrait de 8 octets à partir de la ligne suivante. Parce qu'il n'utilise pas de parenthèses, il a moins de parenthèses que les autres langues, et avec l'ajout de l'indentation, il a une lisibilité unique. (Mais j'utilise des parenthèses dans les fonctions, les listes, les dictionnaires, etc.)

Sa lisibilité conduit directement à la maintenabilité. Il est important que la maintenabilité soit facile à trouver et à réécrire le code, même si vous ou d'autres le voyez longtemps après sa création. Python est facile à lire, prend en charge l'orientation objet et les commentaires sont fortement recommandés, il est donc relativement maintenable.

De plus, en Python, vous pouvez toujours voir vos propres idées avec une seule commande. ("Zen of Python") "Zen" est un résumé concis des attitudes que les programmeurs Python devraient avoir dans le Zen japonais.

$ python

>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Beau est mieux que laid.

Explicit is better than implicit.
Il vaut mieux clarifier que suggérer.

Simple is better than complex.
Il vaut mieux être simple que compliqué.

Complex is better than complicated.
Pourtant, il vaut mieux être compliqué que compliqué.

Flat is better than nested.
Le nid doit être peu profond.

Sparse is better than dense.
Il vaut mieux avoir un écart que d'être encombré.

Readability counts.
Facile à lire, c'est bien.

Special cases aren't special enough to break the rules.
Être spécial n'est pas une raison pour enfreindre les règles.

Although practicality beats purity.
Cependant, en recherchant l'aspect pratique, le naturel peut être perdu.

Errors should never pass silently.
Ne cachez pas l'erreur, ne l'ignorez pas.

Unless explicitly silenced.
Cependant, s'il est caché exprès, ne le manquez pas.

In the face of ambiguity, refuse the temptation to guess.
Si vous rencontrez quelque chose d'ambigu, ne devinez pas ce que cela signifie.

There should be one -- and preferably only one --obvious way to do it.
Il ne doit y avoir qu'une seule façon intelligente de le faire.

Although that way may not be obvious at first unless you're Dutch.
La méthode peut être difficile à comprendre à première vue. Seuls les Néerlandais peuvent facilement comprendre.

Now is better than never.
Faites-le maintenant, plutôt que de ne pas le faire tout le temps.

Although never is often better than *right* now.
Mais maintenant"bientôt"Il vaut souvent mieux ne pas le faire que de le faire.

If the implementation is hard to explain, it's a bad idea.
S'il est difficile d'expliquer ce qu'est le code, c'est une mauvaise implémentation.

If the implementation is easy to explain, it may be a good idea.
Si vous pouvez facilement expliquer le contenu du code, c'est probablement une bonne implémentation.

Namespaces are one honking great idea -- let's do more of those!
Les espaces de noms sont une excellente idée et doivent être utilisés activement.

Je pense que cette convention devrait être suivie par tous les programmeurs, pas seulement les programmeurs Python.

Bien sûr, Perl, Ruby et PHP ont leurs propres bons points, mais je pense que Python est un langage relativement facile à apprendre en tant que langage à apprendre pour la première fois, et qui peut comprendre la discipline implicite et le bon sens en tant que programmeur. La vitesse et la brièveté du code sont importantes, mais je pense que la lisibilité est plus importante que cela. J'étudie toujours, mais c'est très simple et amusant à écrire. Cependant, il est dommage qu'il y ait peu de matériaux et de littérature japonais par rapport aux autres. Je pense qu'il se développera également au Japon.

Recommended Posts

Pourquoi j'ai choisi Python
Pourquoi ne puis-je pas installer matplotlib avec python! !!
J'ai essayé Python> autopep8
Réapprendre Python (algorithme I)
J'ai essayé Python> décorateur
J'ai comparé Python more-itertools 2.5 → 2.6
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
J'ai écrit python en japonais
[Python] Pourquoi pserve ne fonctionne pas
curl -I python une doublure
J'ai fait un blackjack avec du python!
J'ai comparé Java et Python!
5 raisons pour lesquelles je suis entré dans Python
J'ai essayé l'extension C de Python
J'ai fait un texte Python
J'ai exécuté python sur Windows
J'ai essayé gRPC avec Python
Je comprends Python en japonais!
J'ai fait un blackjack avec Python.
Ce que j'ai appris en Python
J'ai appris la grammaire de base de Python
J'ai créé wordcloud avec Python.
J'ai téléchargé la source python
Pourquoi puis-je utiliser le module en important avec python?
J'ai fait un Line-bot avec Python!
J'ai essayé de toucher Python (installation)
Python
pyenv-vertualenv n'installe pas correctement la série python3
J'ai vérifié la construction de l'environnement Mac Python
J'ai essayé webScraping avec python.
Je ne me souviens pas des expressions régulières Python
J'ai créé ma propre bibliothèque Python
[Python] J'ai essayé d'implémenter un échantillonnage de Gibbs marginalisé
J'ai fait une loterie avec Python.
J'ai envoyé un SMS avec Python
J'ai écrit Fizz Buzz en Python
J'ai suivi le cours d'apprentissage Python I de Progete
J'ai examiné de plus près pourquoi l'auto Python est nécessaire
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé Grumpy (allez exécuter Python).
J'ai aimé le tweet avec python. ..
J'ai essayé d'étudier le processus avec Python
Scikit-learn ne peut pas être installé en Python
J'ai joué avec PyQt5 et Python3
J'ai écrit la file d'attente en Python
J'ai essayé de calculer la "distance de Lebenstein" en utilisant Python
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la notification de ligne en Python
J'ai essayé la communication SMTP avec Python
J'ai écrit la pile en Python
J'ai mis Python 2.7 dans Sakura VPS 1 Go.
J'ai essayé de résumer la gestion des exceptions Python
J'ai essayé d'implémenter PLSA en Python
J'ai comparé argparse standard python3 et python-fire
Livre Wrangle x Python Je l'ai essayé [2]
J'ai fait Othello pour enseigner Python3 aux enfants (4)
J'ai fait un programme de gestion de la paie en Python!
J'ai fait un compteur de caractères avec Python