Premiers pas avec Python

Premiers pas avec Python

Bienvenue! This tutorial details how to get started with Python. Il est écrit, édité et mis à jour par Derrick Kearney (canadien, maître Python, gourmand) et Michael Herman (de l'équipe Real Python, bien sûr).

Je (Derrick) aide à administrer plusieurs groupes Python où je réponds à d'innombrables questions chaque jour. Dans cet article, je répondrai à la question que j'entends le plus,“How do I get started with Python?”

(1) Qu'est-ce que Python?

The Python Logo. The Python logo is a trademark of the Python Software Foundation.

Python, du nom du groupe de comédie britannique Monty Python, est un langage de programmation interprété, interactif et orienté objet. Sa flexibilité lui permet de faire beaucoup de choses, grandes et petites. Python peut être utilisé pour écrire des programmes simples, mais il possède également toute la puissance requise pour créer des solutions d'entreprise complexes à grande échelle. Certaines des façons dont Python est utilisé incluent:

  • Développement d'applications graphiques de bureau, y compris des jeux;

  • Analyse mathématique et scientifique des données; et,

  • Développement Web et Internet.

La présence de Python dans le monde de la programmation informatique se retrouve partout. Par exemple, Python est utilisé dans certains des plus grands sites Internet du monde - commeReddit, Dropbox, and Youtube, pour n'en nommer que quelques-uns. Le framework web populaire Python Django alimente à la fois Instagram et Pinterest. La société d'effets visuels primée de LucasFilms, Industrial Light & Magic, utilise Python pour aider à donner vie à leur magie.

Il est facile d’oublier à quel point Python est puissant, car il est si facile à apprendre.

Propriétés Python

Python c'est…

  1. Strongly tapé. Il applique les types de données afin que vous ne puissiez pas concaténer une chaîne et un entier, par exemple.

  2. Dynamically,implicitly tapé. Vous n'avez donc pas à déclarer explicitement les types de données variables. Les types de données sont appliqués lors de l'exécution.

  3. Case sensitive. Par exemple,token etTOKEN sont deux variables différentes.

  4. Object-oriented. Everything is an object.

(2) Obtenir Python - A Prelim

Python est un logiciel gratuit,open-source qui fonctionne sur Linux, Mac, Windows et diverses autres plates-formes (21 au total). Il est préinstallé sur Mac et la plupart des distributions de Linux; cependant, vous devrez peut-être télécharger la dernière version (see below).

Pour vérifier votre version, ouvrez le terminal et exécutez la commande suivante:

python -V

Choisir une version Python

Il peut être déroutant pour les nouveaux programmeurs et les programmeurs chevronnés de choisir entre Python 2 ou 3. Heureusement, il existe peu de différences syntaxiques entre les deux et vous pouvez exécuter les deux versions sur votre ordinateur.

Actuellement, il existe deux versions principales de Python - 2.x et 3.x.

Seule la version 3.5.x est en développement actif, en termes d'acquisition de nouvelles fonctionnalités et fonctionnalités, tandis que Python 2.7.x ainsi que 3.2.x à 3.4.x sont activement maintenus.

Which version is right for you? Eh bien, c'est à vous de décider. Honnêtement, il y a peu de différences entre les deux qui vous affecteront à ce stade précoce, donc l'un ou l'autre choix suffira. De plus, une fois que vous en avez appris un, il n'est pas trop difficile d'apprendre l'autre.

En général, si vous commencez tout juste à apprendre Python, optez pour 3.4.x, car c'est une meilleure version car il y a des fonctionnalités ajoutées ainsi que de nombreuses corrections de bugs et améliorations. Cependant, 2.7x a beaucoup plus de support des bibliothèques tierces. Si vous savez que vous devrez utiliser une bibliothèque qui n’a pas été portée vers la version 3.4.x, il est préférable de commencer avec 2.7x.

Les exemples de cette série seront affichés dans la version3.4.2, qui est la version actuelle au moment de l'écriture. Cela dit, la plupart des exemples fonctionneront correctement avec l'une ou l'autre version, car de nombreuses fonctionnalités et mises à jour ajoutées à 3.4.x ont également été ajoutées à 2.7.x. Nous discuterons des différences dont vous devriez être conscient au fur et à mesure qu'elles surviennent.

(3) Comment obtenir Python?

Quel que soit votre système d'exploitation, vous pouvez télécharger Python à partir duPython Software Foundation (PSF). Prenez la version spécifique à votre système d'exploitation et à votre processeur (32 ou 64 bits).

OS-specific instructions:

  • Mac: Je recommande fortement d'utiliserHomebrew pour installer et gérer différentes versions de Python. Consultez les directionshere. Vous pouvez également télécharger Python à partir desPSF.

  • Linux: Encore une fois, Python est inclus sur différentes versions de Linux. Assurez-vous de mettre à niveau vers la dernière version à l'aide du gestionnaire de packages, si nécessaire.

  • Windows: Téléchargez Python directement depuis lesPSF.

Utilisateurs Windows: assurez-vous de sélectionner l'option pour ajouter Python à votre chemin d'accès système pendant le processus d'installation:

Adding python.exe to the system path

(Dans la liste déroulante, sélectionnez l'option «Sera installé sur le disque dur local».)

(4) Confirmation de l'installation de Python

Faisons un rapide test de cohérence pour nous assurer que Python est correctement installé.

Shell Python

Ouvrez le shell interactif Python:

  • Mac: Ouvrez votre terminal et exécutez:python oupython3, selon votre installation.

  • Linux: Ouvrez votre terminal et exécutez:python

  • Windows: Si vous n'avez qu'une seule version de Python installée, exécutez simplementpython. Si vous avez à la fois Python 2.7 et Python 3 installés, exécutezpython pour Python 2.7 et / oupy -3 pour Python 3.

Utilisateurs Windows: assurez-vous que votre compte dispose de privilèges administratifs: exécutez l'invite de commande à un niveau élevé en cliquant avec le bouton droit sur l'icône d'invite de commande, puis en sélectionnant «Exécuter en tant qu'administrateur».

Le shell Python interactif devrait s'ouvrir et votre invite de commande ou fenêtre de terminal devrait ressembler à ceci:

>>>

Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Pendant que vous êtes ici, vous pourriez tout aussi bien exécuter votre première ligne de code ...

Python 2:

>>>

>>> print "Python is fun!"

Python 3:

>>>

>>> print("Python is fun!")

Si vous exécutez Python 2.x, la commandeprint est une instruction plutôt qu'une fonction dans Python 3.x.

Tu devrais voir:

>>>

Python is fun!

Et c'est tout: vous venez d'écrire votre premier programme Python! Chaque fois que vous entrez une ligne, Python exécute immédiatement l'instruction, affichant la valeur entre les guillemets.

Une fois cela fait, vous pouvez utiliserexit() pour quitter le shell Python. Or:

  • Mac and Linux users:Ctrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter

  • Windows users:Ctrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter

Gardez votre terminal ou invite de commande ouvert. Il nous reste encore beaucoup à faire! Continuons à utiliser le Shell pendant que nous parcourons les primitives Python.

(5) Primitives de langage

Dans cette section, nous examinerons les primitives de codage Python - variables, types de données intégrés, commentaires, syntaxe et sémantique.

Variables

Variables are containers pour les données. La syntaxe pour les déclarer est:variable_name = variable_value. Bien que vous puissiez nommer les variables comme vous le souhaitez (à l'exception de quelquesreserved keywords), vousshouldutilisez un schéma de dénomination intuitif. Le nom de variableshould donne une indication sur les valeurs qui lui sont assignées.

Par exemple, de nombreux nouveaux programmeurs utilisent des noms de variables simples commex ety. Faites (err, essayez) de ne pas faire cela. Au lieu de cela, si vous avez deux nombres - disons1 et52 - utilisez les noms de variablenum1 etnum2 au lieu dex ety. De cette façon, lorsque d'autres liront votre programme, ils peuvent faire une supposition éclairée quenum1 etnum2 sont probablement des nombres d'une certaine sorte. Pensez aux autres lors de l'écriture de vos programmes, ainsi qu'à votre futur. Votre futur moi vous remerciera.

Types de données intégrés

Python a desa number of built-in data typestels que des nombres (entiers, flottants, nombres complexes), des chaînes, des listes, des tuples et des dictionnaires.

Chacun d'eux peut être manipulé en utilisant:

  1. Les opérateurs

  2. Les fonctions

  3. Méthodes de type de données

Assurez-vous de taper chaque exemple avec moi.

Nombres

Les nombres peuvent être des nombres entiers, des virgules flottantes, des booléens ou des nombres complexes. Les trois premiers sont les plus importants:

  • Les entiers sont des nombres entiers -1,2,22,476,-99999

  • Les flottants ont des points décimaux -1.0,2.22,22.098,476.1,-99999.9

  • Les booléens représentent soitTrue, soitFalse (ou1 ou0). Ils représentent des données qui ne peuvent être qu'une chose ou une autre.

Manipuler les nombres

Les opérateurs

Vous avez déjà vu des opérateurs. Ce sont des choses comme l'addition (ou la concaténation) et la soustraction, tout comme vous l'avez appris à l'école primaire.

>>>

>>> 2 + 3   # Addition
5
>>> num1 = 10
>>> num2 = 9.99
>>> num3 = num1 + num2
>>> num3
19.990000000000002
>>> 8 - 5   # Subtraction
3
>>> 2 * 6   # Multiplication
12
>>> 12 / 3  # Division
4.0
>>> 7 % 3   # Modulus (returns the remainder from division)
1
>>> 3 ** 2  # Raise to the power
9

Mettant à l'épreuve vos compétences en pré-algèbre, examinons les comparaisons, qui évaluent à des valeurs booléennes, par exemple, soitTrue ouFalse (ou1 ou0).

>>>

>>> 2 < 5
True
>>> 4 > 10
False
>>> 3 >= 3
True
>>>
>>> 5 == 6
False
>>> 6 != 9
True

Les fonctions

Python vous fournit un certain nombre defunctions intégrés pour manipuler les entiers. Ce sont desalways à votre disposition. Remarque: ces fonctions peuvent être utilisées sur le type de donnéesany. Il existe également un certain nombre de modules disponibles dans la bibliothèque standard Python, tels quemath. Pour utiliser les fonctions associées à ces modules, vous devez d'abord importer le module. Plus sur cela plus tard. Pour l'instant, regardons quelques exemples de fonctions intégrées.

float() - étant donné un entier, cette fonction renvoie un flottant.

>>>

>>> float(9)
9.0
>>> float(-99999)
-99999.0

int() - étant donné un flottant, cette fonction renvoie un entier. Cette fonction N'arrondit PAS l'entrée (plafond) à l'entier le plus proche - elle jette simplement n'importe quoi après la virgule décimale (plancher) et renvoie le nombre. Ainsi, l'entrée de 10,6 renvoie 10, PAS 11. De même, 3,25 renvoie 3.

>>>

>>> int(10.6)
10
>>> int(3.25)
3

Méthodes de type de données

Outre les fonctions, il existe un nombre dedata-type methods associé à chaque type de nombre.

float.is_integer() - teste si un flottant est fini.

>>>

>>> (10.0).is_integer()
True
>>> (10.1).is_integer()
False

Les cordes

Les chaînes sont des lignes de texte déclarées avec des guillemets simples ou doubles:

>>>

>>> simple_string = "hey!"
>>> simple_string
'hey!'
>>> "hello world!"
'hello world!'
>>> escaped = 'can\'t'
>>> escaped
"can't"
>>> not_escaped = "can't"
>>> not_escaped
"can't"

Manipuler des chaînes

Les opérateurs

Comme les nombres, vous pouvezconcatenate strings (concaténation de chaînes):

>>>

>>> "happy" + " " + "birthday"
'happy birthday'
>>> "my name is " + "john"
'my name is john'

Les fonctions

Regardons juste quelquesfunctions qui sont bons à utiliser pour la manipulation de chaînes:

len() - étant donné une chaîne, cette fonction renvoie la longueur de celle-ci.

>>>

>>> len(name_string)
15

slice() - étant donné une valeur de début et de fin, vous pouvez accéder à un ensemble de, ou à un seul, caractère (s).

>>>

>>> print("Hello"[2])
l
>>> print("Hello"[3])
l
>>> print("Hello"[0])
H
>>> print("Hello"[0:2])
He

Méthodes de type de données

Bien que nous n'abordions que quelques méthodes de type de données, assurez-vous de consulter l'intégralité desdocumentationPython car il existe un certain nombre de fonctions importantes dont vous devez être conscient.

string.capitalize() - renvoie la chaîne avec la première lettre en majuscule.

>>>

>>> lower_case_string = "michael"
>>> lower_case_string.capitalize()
'Michael'
>>> ("empire").capitalize()
'Empire'

string.format() - vous pouvez facilement mettre en forme les valeurs en chaînes.

>>>

>>> name = "John Doe"
>>> greeting = "My name is {}".format(name)
>>> greeting
'My name is John Doe'
>>>

string.strip() - renvoie la chaîne avec les espaces blancs de début et de fin supprimés.

>>>

>>> are_you_happy = "     Yes      "
>>> are_you_happy.strip()
'Yes'

Listes

Les listes, appelées tableaux dans presque tous les autres langages de programmation, regroupent différents types de données.

  1. create_a_list = []

  2. numbers_list = [1, 2, 3]

  3. strings_list = ["spam", "eggs", "cheese"]

  4. mixed_list = ["Hello", [1, 2, 3], False]

Comme vous pouvez le voir ci-dessus, les listes peuvent contenir tout type de données (vous pouvez également mélanger et assortir), y compris d'autres listes ou rien du tout. Vous pouvez accéder à des parties de listes comme des chaînes avec des index. La syntaxe est la même:

>>>

>>> create_a_list = []
>>> create_a_list
[]
>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list
[1, 2, 3, 200]
>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list
['batman', 'superman', 'iron man']
>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list
['Hello World', [4, 5, 6], False]

Vous pouvez accéder aux éléments de la liste depuis le début ou la fin de la liste:

>>>

>>> numbers_list[0]
1
>>> numbers_list[0:1]
[1]
>>> numbers_list[0:2]
[1, 2]

Regardez comment vous pouvez créer une nouvelle liste simplement en accédant aux éléments:

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> new_list = numbers_list[0:3]
>>> new_list
[1, 2, 3]

Les index négatifs comptent à partir du dernier élément en arrière:

>>>

>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list[-1]
'iron man'

Si vous imbriquez une liste dans une autre liste, vous pouvez accéder à la liste interne à l'aide de plusieurs index:

>>>

>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list[1][2]
6

Manipuler des listes

Les opérateurs

Les listes peuvent être concaténées:

>>>

>>> fruits = ["apples", "grapes", "oranges"]
>>> veggies = ["corn", "kale", "mushrooms"]
>>> grocery_list = fruits + veggies
>>> grocery_list
['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']

Les fonctions

En général, vous pouvez considérer les listes comme des chaînes - seule chaque donnée est un élément. Qu'est-ce que cela signifie concrètement? Eh bien, les mêmes fonctions que vous utilisez sur les chaînes peuvent être utilisées pour les listes.

len() - étant donné une liste, cette fonction renvoie la longueur de celle-ci.

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> len(numbers_list)
4

slice() - étant donné une valeur de début et de fin, vous pouvez accéder à un ensemble d'éléments.

>>>

>>> hello = ["H", "e", "l", "l", "o"]
>>> hello[2]
'l'
>>> hello[3]
'l'
>>> hello[0]
'H'
>>> hello[0:2]
['H', 'e']

Méthodes de type de données

Encore une fois, consultez lesdocumentation Python pour voir toutes les méthodes de liste disponibles.

list.append() - utilisé pour ajouter un élément à la fin d'une liste

>>>

>>> fruits = ["apples", "grapes", "oranges"]
>>> fruits.append("blueberries")
>>> fruits
['apples', 'grapes', 'oranges', 'blueberries']

list.sort() - trier cette liste

>>>

>>> fruits.sort()
>>> fruits
['apples', 'blueberries', 'grapes', 'oranges']

list.pop() - étant donné une valeur d'index, supprimer un élément de la liste

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list.pop(2)
3
>>> numbers_list
[1, 2, 200]

Tuples

Les tuples sont similaires aux listes, mais ils sont immuables - ce qui signifie qu'ils ne peuvent pas être modifiés après la création.

>>>

my_tuple = ("Michael", "Herman", 31, "Software Developer")

Tout comme une liste, vous pouvez également utiliser des index pour accéder à différents éléments:

>>>

>>> my_tuple = ("Michael", "Herman", 31, "Software Developer")
>>> my_tuple[1]
'Herman'

Souvent, les tuples sont utilisés pour les clés de dictionnaire car ils doivent (err, must) être immuables.

Manipuler des tuples

Les opérateurs

Oui, vous pouvez ajouter deux tuples:

>>>

>>> first_tuple = (1, 2)
>>> second_tuple = (3, 4)
>>> third_tuple = first_tuple + second_tuple
>>> third_tuple
(1, 2, 3, 4)

Les fonctions

list() - utilisé pour convertir un tuple en liste

>>>

>>> first_tuple = (1, 2)
>>> list(first_tuple)
[1, 2]

Qu'en est-il de la conversion d'une liste en tuple? Y a-t-il une fonction pour cela? Où iriez-vous pour le découvrir?

Méthodes de type de données

Les tuples étant immuables, la plupart deslist methodsne fonctionnent pas sur les tuples.

>>>

>>> first_tuple = (1, 2)
>>> first_tuple.append(3)
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'append'
>>> first_tuple.pop(1)
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'pop'
>>> first_tuple.sort()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'sort'
>>> first_tuple.reverse()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'reverse'

Dictionnaires

Les dictionnaires sont un type de tableau associatif (un objet) implémenté à l'aide de tables de hachage contenant des paires clé / valeur. Ils ne sont pas ordonnés.

my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}

Vous pouvez renvoyer la valeur d'une clé à l'aide de la syntaxe suivante:

>>>

>>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
>>> my_dict["name"]
'michael herman'
>>> my_dict["Key 1"]
'Value 1'

Manipuler des dictionnaires

Faites des recherches par vous-même, en utilisant les Pythondocumentation. Besoin d'aide? Commentaires ci-dessous.

En parlant de commentaires…

Les commentaires sont utilisés pour décrire votre code afin que les autres développeurs puissent rapidement comprendre ce qui se passe (ainsi que votre futur moi-même).

# This a comment on it's own line
# You create them with the hash symbol
var = "Hello"  # They can also be on the same line as code

Besoin d'aide?

Comme un bon ami, Python est toujours disponible si vous êtes coincé. Peut-être voulez-vous savoir comment fonctionne un objet spécifique, ouvrez simplement le shell Python et appelez ensuitehelp() pour obtenir de l'aide oudir() pour voir quelles méthodes sont disponibles pour cet objet particulier.

(6) Codage en Python

Il existe trois approches de base pour coder en Python. Nous en avons déjà utilisé un - le Python Shell interactif.

Le Shell (redux)

C'est le moins puissant des trois. Bien que vous puissiez créer des fonctions dans le shell, il est généralement réservé à des instructions simples d'une ligne pour obtenir un retour rapide sur votre code.

Par exemple, regardons une expression simple. Ouvrez le shell et exécutez:

>>>

>>> 24 + 10
34

Le shell Python a simplement évalué24 + 10, en ajoutant les deux nombres et en sortie la somme,34.

Essayez encore:

>>>

>>> import this

Prenez une minute pour lire la sortie. Voici quelques concepts deimportant en Python, qui vous aideront à écrire le code Python deidiomatic.

Fermez le shell interactif Python. Une fois fermé, notre code a disparu. En d'autres termes, le code tapé dans le shell Python n'est pas persistant - et ne peut pas être réutilisé. En tant que codeurs, nous voulons du code que nous pouvons réutiliser pour économiser de précieuses frappes. Malheureusement, le shell Python échoue à cet égard.

IDLE

Python est livré avec un programme nommé IDLE (nommé d'après Eric Idle de Monty Python). IDLE est interactif et peut être utilisé exactement comme le Python Shell. Il peut également être utilisé pour la réutilisation de code puisque nous pouvons créer du code Pythonand save. Cela dit, IDLE n'est toujours pas aussi puissant que la dernière méthode, nous allons donc l'ignorer pour l'instant.

Si vous souhaitez utiliser IDLE, consultez l'excellent guideOne Day of IDLE Toying.

Éditeur de code

La meilleure approche consiste à utiliser un véritable éditeur de codage. Certaines personnes préfèrent unIntegrated Development Environment (IDE), mais un éditeur de code beaucoup plus simple est bien meilleur à des fins d'apprentissage.

Why? Lorsque vous apprenez quelque chose de nouveau, vous souhaitez décoller autant de couches de complexité que possible. Simplifiez les choses. En ajoutant un IDE complexe dans le mix, que vous devrez apprendre à utiliser, vous ajoutez simplement de plus en plus de couches, ce qui rend la tâche - apprendre Python - encore plus difficile.

(7) Choisir un éditeur de codage

Un programme Python, dans sa forme de base, est simplement des lignes de texte (code) enregistrées dans un fichier avec une extension de fichier.py. Le code Python peut être écrit dans quelque chose d'aussi basique que le Bloc-notes - mais il n'y a aucune raison de vous soumettre à une telle épreuve car il existe de bien meilleures options disponibles. Au fond, un éditeur de code devrait fournir un certain nombre de fonctionnalités qui aident un programmeur à créer des programmes (scripts et modules Python, dans notre cas). Dans la plupart des cas, les éditeurs de code permettent à l'utilisateur de personnaliser le programme lui-même, en fonction de vos besoins et de votre style.

Que devez-vous rechercher dans un éditeur de code?

  • Facilité d'utilisation

  • Mise en évidence de la syntaxe

  • Indentation automatique

  • Vues à onglets

  • Numérotation des lignes

  • Possibilité de personnaliser l'apparence de l'éditeur

  • Disponibilité des modules complémentaires

Jetez un œil à l'exemple suivant:

The Good Bad and Ugly

Ainsi, non seulement le code est plus facile à lire dans l'éditeur (Sublime Text) en haut (en raison de la coloration syntaxique et de la numérotation des lignes), mais il identifie également trois erreurs simples, dont l'une est un show-stopper . (Pouvez-vous déterminer lequel?) Pendant ce temps, l'éditeur (Bloc-notes) en bas n'affiche pas les erreurs et est dur pour les yeux car il est noir et blanc.

Quel éditeur dois-je utiliser?

L'un des éditeurs de code les plus populaires estSublime Text 3 (illustré ci-dessus). Il est puissant, multiplateforme et gratuit à essayer.

Assurez-vous de soutenir le projet en achetant une licence si vous continuez à l'utiliser.

Si vous voulez quelque chose de plus simple, consultezgedit, qui est également multiplateforme. Notepad++ est également un excellent éditeur, mais il est uniquement destiné à Windows. Ces deux éditeurs sont gratuits et bien qu'aucun ne possède la puissance de Sublime Text, ils sont toujours utiles.

Une troisième option estVim, qui est gratuite et disponible pour Mac, Linux et Windows. Vim a une courbe d'apprentissage abrupte mais il a une base d'utilisateurs fidèles. Vim Distribution de Steve Francia est la meilleure configuration de programmation pour Vim que j'aie jamais vue.

Personnellement, je préfèreSublime Text 3. Consultez l'article de blogSetting Up Sublime Text 3 for Full Stack Python Development pour voir comment le personnaliser spécifiquement pour l'écriture de code Python.

Rappelez-vous: il y amany different options en ce qui concerne les éditeurs de code, à la fois gratuits et commerciaux. Faites vos recherches et n'ayez pas peur d'expérimenter! N'oubliez pas: un éditeur devrait vous aider à adhérer aux normes, pratiques et idiomes de codage Python…

(8) Idiomes Python = codage heureux

PEP 8 – Style Guide for Python Code est le guide de style pour la programmation du code Python. Étudier cette.

Un idiome qui déclenche de nombreux nouveaux développeurs Python est l'indentation. Python utilise l'indentation (4 espaces) pour organiser logiquement le code en sections appelées [blocs de code] (http://en.wikipedia.org/wiki/Block_(programming). Un bloc de code commence par un retrait et se termine par un retrait (non retrait?). Une indentation incorrecte générera une erreur dans Python empêchant l'exécution de votre code. Et c'est exactement là qu'avoir un éditeur de code correctement configuré est rentable, car il détectera les erreurs d'indentation et les mettra en évidence pour vous. Vous devez également utiliser des espaces au lieu des tabulations lors du retrait. La plupart des éditeurs vous permettent de convertir des tabulations en espaces, de sorte que lorsque vous tabulez, il applique en fait 4 espaces.

Revoyons les erreurs de l'image ci-dessus…

  1. Ligne 2 - Pas d'espace autour de l'opérateur<. Comme expliqué dansPEP8, Python attend des espaces autour des opérateurs. Ce n'est pas une erreur critique mais problématique car votre code doit être propre et lisible.

  2. Ligne 4 - Il y a deux erreurs ici, y compris le bouchon d'exposition. Comme indiqué ci-dessus, Python utilise l'indentation pour définir des blocs de code. count = count + 1, fait partie d'un bloc de code qui commence à la ligne 2, de sorte qu'il doit être indenté de 4 espaces pour que Python l'inclue dans le bloc de code.

(9) Compter jusqu'à 10

Prêt à plonger dans un exemple basique?!

Si vous êtes nouveau dans la programmation, vous ne comprenez peut-être pasfully le code, mais ce sont les concepts qui sont importants. Python est conçu pour lire très facilement et cet exemple illustre ce principe. Nous allons corriger le code cassé ci-dessus et ajouter un bloc de code supplémentaire pour souligner les concepts de blocs de code et d'indentation.

De nombreux programmeurs sont dépassés lorsqu'ils abordent initialement un problème. Une approche efficace pour aider à résoudre le problème, quelle que soit sa taille, consiste à diviser logiquement le problème en plusieurs parties.

Par exemple, codons un programme de base qui compte de 1 à 10. Chaque fois que le nombre augmente, nous voulons afficher un nouveau nombre, et pour aider avec le concept de blocs de code, nous allons montrer ce qui se passe après avoir atteint 10. Une approche pour aider au développement d'un flux de travail consiste à utiliser un pseudocode.

Faisons un plan (pseudocode!)

Let’s make a plan

J'aime garder les choses organisées sur mon ordinateur, alors créez d'abord un dossier, placez-le dans votre dossier «documents» ou dans un endroit similaire. J'ai créé un dossier appelé,python_code. Apprendre à coder est pratique, alors ouvrez votre éditeur de code et entrez le code suivant. Do not copy and paste no matter how tempting it is. Doing so will hinder learning.

Python 2.7:

# Python 2.7

count = 1
# Code block 1
while count < 11:
    print count
    count = count + 1
# Code block 2
if count == 11:
    print 'Counting complete.'

Python 3:

# Python 3

count = 1
# Code block 1
while count < 11:
    print(count)
    count = count + 1
# Code block 2
if count == 11:
    print('Counting complete.')

Notez que la première ligne de chaque exemple a un# (caractère dièse), suivi d'un espace puis d'une explication. Ceci est un commentaire en ligne. Ces commentaires ont un certain nombre d'objectifs, mais pour la plupart, ils sont utilisés pour expliquer le code ou résumer une approche spécifique adoptée par un développeur. Les commentaires des exemples ci-dessus ont-ils un sens pour vous? Sinon, changez-les.

Enfin, comme vous le découvrirez bientôt, les commentaires sont ignorés par Python lors de l'exécution du code.

Avez-vous remarqué que les exemples utilisent à la fois des= simples et des==doubles? Cela peut être déroutant.

  1. n l'expressioncount = 1, le= affecte la valeur de 1 à la variable nomméecount.

  2. Dans lesif count == 11: conditionnels, le== compare la valeur decount avec11, renvoyant un booléenTrue ouFalse. Pouvez-vous dire à quoi l'instruction est évaluée dans l'exemple ci-dessus après chaque itération?


Enregistrez le fichier souscount_to_ten.py dans le dossier que vous avez créé puis quittez l'éditeur. Ouvrez un terminal ou une invite de commande et accédez au dossier que vous avez créé.

Maintenant, exécutez le code:python count_ten.py

Vous devrez peut-être remplacerpython parpython3 oupy -3, selon votre configuration. VoirStep 4 pour plus d'informations.

Et la sortie devrait ressembler à ceci:

Count to ten

Félicitations! Vous venez d'écrire votre premier programme.

(10) Erreurs et exceptions

Les erreurs sont quelque chose qui irritent et frustrent les programmeurs à tous les niveaux d'expérience.

En Python, il existe deux types d'erreurs basées sur le code,syntax errors and exceptions.

Erreurs de syntaxe

Nous avons déjà vu cette erreur - indentation incorrecte. Les erreurs de syntaxe empêcheront l'exécution du programme. Dans cet exemple, l'instructionif manque un deux-points pour terminer l'instruction. Comme vous pouvez le voir, Python est très utile pour signaler l'erreur:

>>>

>>> if x < 9
   File "", line 1
     if x < 9
             ^
SyntaxError: invalid syntax

Exceptions

Des erreurs d'exception se produisent lors de l'exécution du programme. Python a un certain nombre deexceptions intégrés. Par exemple:

>>>

>>> 12/0
Traceback (most recent call last):
  File "", line 1, in 
ZeroDivisionError: integer division or modulo by zero

Erreurs sémantiques

Les erreurs sémantiques sont des erreurs qui se produisent à la suite d'un ou plusieurs problèmes de logique.

Ces erreurs peuvent être plus complexes, car aucune erreur n'est générée. Le code s'exécute mais génère une sortie inattendue et / ou incorrecte, ou aucune sortie. Un exemple classique de ceci serait une boucle infinie que la plupart des nouveaux programmeurs expérimentent au moins une fois.

(11) Python’s Power - Packages / Modules

L'un des avantages de Python est la pléthore de modules disponibles, tous deux intégrés au cœur de Python etthird party packages/libraries - utilisés pour étendre le langage. Ces modules peuvent être très utiles. Certains des modules Python intégrés les plus utilisés incluent:

  • math: fonctions mathématiques de la bibliothèque standard du C (vous avez déjà vu celle-ci)

  • random: un générateur de nombres pseudo-aléatoires

  • datetime: utilisé pour manipuler les dates et les heures

  • re: pour travailler avec des expressions régulières

Par exemple, ici nousimport math pour utiliserpi,sqrt (racine carrée) etpow (élévation à la puissance):

Pi

Warning: ne nommez pas vos fichiers Python de la même manière qu'un module - commemath.py ourandom.py. Cela entraînera des conflits, entraînant un comportement inattendu dans votre code. Donc, si vous utilisez le module mathématique, ne nommez pas votre fichiermath.py. Ça a du sens?

Pip

La meilleure façon de gérer les packages / modules tiers de Python est d'utiliserpip. Les nouveaux codeurs se heurtent fréquemment à un mur lorsqu'ils suivent un exemple de code et voient l'erreur suivante lorsqu'ils essaient d'exécuter le code:ImportError: No module named MODULE_XXXX.

Ces modules doivent être installés manuellement à l'aide de Pip. Dans Python 3, pip, appelépip3, est inclus. Si vous avez utilisé Homebrew pour installer Python, pip est également inclus. À partir de Python 2.7.9, pip est également inclus. Si vous utilisez une version Python antérieure à 2.7.9, suivez ces instructions pour installer pip:

  1. Téléchargezget-pip.py, confirmez que le fichier a été enregistré avec une extension.py.

  2. Accédez à l'emplacement du fichier téléchargé dans le terminal ou l'invite de commande.

  3. Exécuter:python get-pip.py

  4. Lisez lesofficial pip documentation pour plus d'informations.

(12) Prochaines étapes

Il existe de nombreux didacticiels en ligne, des livres et des vidéos disponibles gratuitement.

Mon premier arrêt a été l'un des choix gratuits les plus populaires,Learn Python the Hard Way. Le didacticiel de Zed Shaw est présenté dans un format d'exercice progressif et logique. Je l'ai trouvé très utile pour apprendre la syntaxe, mais j'avais besoin de plus.

L'une des meilleures façons d'apprendre à coder est de construire - l'approche d'apprentissage pilotée par le projet. C’est ainsi que j’ai rencontré Real Python. Il y a troisReal Python qui coûtent des frais modestes, qui sont fréquemment mis à jour (généralement tous les deux mois) pour suivre les changements (gratuitement).

Un autre endroit qui m'a vraiment aidé a été le cours du MIT,Introduction to Computer Science and Programming, qui couvre divers concepts informatiques avec Python. Le cours se trouve à deux endroits.

  1. L'initiative en ligne à but non lucratif de Harvard et du MIT (Edx.org) propose le cours en deux parties. Ils sont difficiles et offrent une excellente approche de la résolution de problèmes. Les deux parties sont notées.

  2. L'autre route provient du didacticiel ouvert du MIT,Introduction to Computer Science and Programming MIT 6.00x. Le cours n'est pas noté, mais il a une communauté en ligne très active qui est très utile.

Il existe bien sûr d'autres cours en ligne. Encore une fois, c'est un choix personnel, alors faites vos propres recherches.

Une autre source de matériel d'apprentissage gratuit provient de la PSF:

Surtout, il est important de ne pas tomber dans la recherche du «meilleur» livre ou de la recherche vidéo et de se perdre. Fais quelques recherches. Demande autour de toi. Mais choisissez quelque chose etstick with it! Ouvrez votre éditeur de code et commencez à coder! Engagez-vous à le terminer.

Téléchargement PDF gratuit: Aide-mémoire Python 3

(13) Faire du vélo

Le codage, c'est comme faire du vélo: vous pouvez regarder les gens pour voir comment cela se fait, et parfois vous pouvez obtenir un coup de pouce, mais à la fin, c'est un événement solo. Lorsque je suis bloqué ou que je dois rafraîchir un nouveau concept, le premier endroit où je vais est Google. Si je reçois un message d'erreur, taper le message d'erreur exact dans Google affichera souvent un résultat dans la première page qui résout mon problème.

Consultez également ces ressources:

  1. La documentation officielle Python -Python 2.7 ouPython 3

  2. Tutorials Point a des exemples très simples et faciles à suivre lorsque j'ai besoin d'une actualisation rapide.

  3. Site Web deJeff Knupp’s (l'auteur de la série de didacticiels et de livres Idiomatic Python)

  4. LeReal Python Tutorials section a des sujets plus spécifiques et des sujets avancés comme les cadres Web de Python, Django et Flask.

  5. LesPython Course de Bernd Klein contiennent une excellente couverture de Python; sa discussion sur des sujets avancés est vraiment utile.

  6. Stack Overflow, le Q&A pour le codage, a de bonnes explications sur les sujets Python. HowPython can slice a string, est un excellent exemple.

Si vous êtes bloqué sur un problème, essayez ces suggestions simples:

  1. Arrêtez de coder!

  2. Sortez un morceau de papier et expliquez comment résoudre le problème en utilisant des mots simples (pseudocode); utilisez un organigramme si nécessaire. Reportez-vous auxexample above.

  3. À un moment donné, vous serez présenté àexception handling de Python - le bloctry/except. N'utilisez pas use atry tant que votre code ne fonctionne pas. Lestry peuvent supprimer des messages d'erreur précieux qui aident à identifier les problèmes dans le code.

  4. Si vous n'obtenez pas la sortie attendue - c'est-à-dire que Python affiche peut-être un mot au lieu d'un nombre (type de données incorrect) - ajoutez une instruction d'impression juste après l'affectation de variable, puis juste avant la sortie attendue. C'est un résolveur de problèmes efficace, rapide et sale.

  5. Si vous êtes toujours perplexe, un excellent outil est lePython Visualizer. Cet outil vous permet de «parcourir» votre code lors de son exécution. Le visualiseur Python contient des exemples pour vous aider si nécessaire.

  6. Une dernière remarque - et c'est très important - est qu'un cerveau frustré ne va pas aider. Lorsque vous commencez à vous énerver parce que quelque chose ne fonctionne pas, faites une pause, nettoyez votre cerveau. Aller courir. Faites autre chose. Vous serez étonné de voir à quel point cela peut être efficace. Souvent, vous reviendrez les yeux clairs et verrez une simple faute de frappe, un mot clé mal orthographié, etc.

(14) Conseils simples pour les nouveaux codeurs Python

Je dis cela de la plus belle manière -no one is going to spoon feed you. Les codeurs s'attendent à ce que d'autres codeurs - oui, même les débutants - essaient de résoudre le problème eux-mêmes. À un moment donné, nous avons tous besoin de conseils.

Une fois que vous avez essayé et vraiment frappé le mur, demandez de l'aide avant de casser votre clavier ou tout autre objet inanimé. Il existe un certain nombre d'endroits où obtenir de l'aide -code forums, les groupes Facebook, lesIRC channel #python, pour n'en nommer que quelques-uns. Prenez une minute pour lire les règles ou les directives de l'un des groupes que vous utilisez. Aidez les autres à vous aider en expliquant le problème et ce que vous avez essayé. En cas d'erreur, incluez également ces informations.

Amusez-vous à coder!

(15) Testez vos connaissances

  1. Qu'est-ce que cela signifie que Python est un langage puissant et typé dynamiquement?

  2. Comment accédez-vous au shell Python?

  3. Comment déclarez-vous une variable?

  4. Quelle est la différence entre un nom de variable et une valeur de variable?

  5. Quels sont les types de données intégrés de Python?

  6. Quelle est la différence entre un nombre entier et un nombre à virgule flottante?

  7. Quelles sont les valeurs booléennes?

  8. Que fait l'opérateur%?

  9. Quelle est la différence entre une liste et un tuple?

  10. Qu'est-ce qu'un dictionnaire?

  11. Pourquoi devriez-vous utiliser des commentaires dans votre code?

  12. Testez la fonctionhelp(). Qu'as-tu appris?

  13. Passez enfloat à la fonctiondir(). Qu'as-tu appris?

  14. Une primitive que nous n’avons pas parcourue estNone. Qu'est-ce que cela représente?

  15. Vous pouvez vérifier le type de données d'une variable ou d'une valeur à l'aide de la fonctiontype(). Testez cela à l'aide de différents types de données et variables. Qu'as-tu appris?

Ouvrez votre éditeur de texte et créez un nouveau fichier appeléexercise.py. Copiez et collez le code suivant dans le fichier:

##########################################################################
## Modify the variables so that all of the statements evaluate to True. ##
##########################################################################

var1 =
var6 =
var2 =
var3 =
var4 =
var5 =

############################################
## Don't edit anything below this comment ##
############################################

# integers
print(type(var1) is int)
print(type(var6) is float)
print(var1 < 35)
print(var1 <= var6)

# strings
print(type(var2) is str)
print(var2[5] == 'n' and var2[0] == "p")

# lists
print(type(var3) is list)
print(len(var3) == 5)

# tuples
print(type(var4) is tuple)
print(var4[2] == "Hello, Python!")

# dictionaries
print(type(var5) is dict)
print("happy" in var5)
print(7 in var5.values())
print(var5.get("egg") == "salad")
print(len(var5) == 3)
var5["tuna"] = "fish"
print(len(var5) == 3)

En suivant les instructions, mettez à jour le code. Une fois terminé, exécutez le code de votre terminal pour tester à l'aide de la commandepython exercise.py. Bonne chance!

Maintenant que vous connaissez les bases de la programmation Python, assurez-vous de consulter la large gamme de didacticiels Python ici sur Real Python pour continuer à développer vos compétences. Vous pouvez retrouver tous nos tutorielsby clicking here.