Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
public:python:utiliser_pycharm [2016/11/15 13:02] – [Créer un projet] pprea | public:python:utiliser_pycharm [2017/02/28 09:19] (Version actuelle) – fbrucker | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Premiers pas avec PyCharm ====== | ||
+ | ===== Créer un projet ===== | ||
+ | |||
+ | Nous supposons ici que PyCharm est déjà installé. | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Lorsque vous lancez PyCharm pour la première fois, une fenêtre apparaît: | ||
+ | * Cliquez sur " | ||
+ | Sur la fenêtre suivante: | ||
+ | * Avec le champ " | ||
+ | * Avec le champ " | ||
+ | |||
+ | ===== Installer un interpréteur python3 ===== | ||
+ | |||
+ | Pour rajouter un nouvel interpréteur (parfois, Python3 n'est pas proposé), il faut cliquer sur le petit engrenage (à droite de la barre) & choisir "add local" | ||
+ | |||
+ | |||
+ | ===== Créer un fichier Python ===== | ||
+ | |||
+ | Nous voilà arrivés à l' | ||
+ | |||
+ | Pour créer un nouveau fichier python: | ||
+ | * **Menu " | ||
+ | |||
+ | Vous pouvez alors écrire <code python> print(" | ||
+ | |||
+ | ===== Les Menus ===== | ||
+ | * **Navigate** permet de rechercher des fichers, classes etc | ||
+ | * **Refactor** permet de modifier des noms de modules dans tout un projet, des noms de variables dans une fonction ou un fichier, à l'aide d'une seule manipulation. | ||
+ | * **Run** permet d' | ||
+ | |||
+ | ==== Le menu File ==== | ||
+ | Le menu File permet bien évidemment d' | ||
+ | Cependant c'est aussi là que se trouve les options de configuration de PyCharm dans le sous-menu " | ||
+ | |||
+ | Voici quelques manipulations qui nous simplifieront la vie plus tard: | ||
+ | - Allez dans " | ||
+ | - Allez dans " | ||
+ | |||
+ | La première manipulation permet de dire à l’interpréteur Python qu'on utilise des caractères [[https:// | ||
+ | |||
+ | ===== Des raccourcis qui simplifient la vie ===== | ||
+ | |||
+ | PyCharm est préconfiguré avec de nombreux raccourcis. Vous pouvez y accéder dans " | ||
+ | |||
+ | Quelques raccourcis par défaut utiles: | ||
+ | * Commenter une ligne ou un bloc: "Ctrl + /" (Utiliser le "/" | ||
+ | * Rechercher "Ctrl + F" | ||
+ | * Exécuter le fichier actuel: "Maj + F10" | ||
+ | * Exécuter tout le projet: "Alt + Maj + F10" | ||
+ | |||
+ | ===== Ajouter un environnement d' | ||
+ | |||
+ | |||
+ | |||
+ | Les environnement d' | ||
+ | |||
+ | Pour créer un nouvel environnement d' | ||
+ | - créez un nouveau contexte d' | ||
+ | - la fenêtre qui s'est ouverte contient tous les contextes d' | ||
+ | - choisissez **python** ou **python tests**, paramètrez votre environnement en choisissant le script à exécuter (on pourra également nommer son environnement). | ||
+ | - cliquer sur **OK** pour créer l' | ||
+ | |||
+ | <note warning> | ||
+ | Dans la fenêtre de gestion des contextes, ne modifiez pas les contextes par défaut. Ce sont des templates. | ||
+ | </ | ||
+ | |||
+ | Pour plus d' | ||
+ | |||
+ | ===== Les tests ===== | ||
+ | |||
+ | Nous devons être certains que toutes les méthodes, fonctions ou modules que nous créons soient corrects. On écrira donc des tests pour être moralement sûrs que nos programmes fonctionnent (la plupart du temps une preuve de code est illusoire). | ||
+ | |||
+ | Pour éviter de retaper tous ces tests à chaque modification du code (ce qui arrive souvent lorsque un algorithme ou une application est utilisée longtemps) ou à chaque découverte de bug, ils sont conservés dans un fichier à part. Ceci nous permettra d' | ||
+ | |||
+ | ==== Environnement de tests avec pyCharm ==== | ||
+ | |||
+ | De nombreux [[https:// | ||
+ | |||
+ | ==== Premier exemple ==== | ||
+ | |||
+ | Créez un nouveau projet avec pycharm que l'on pourra appeler '' | ||
+ | <code python> | ||
+ | def double(entier): | ||
+ | return 2 * entier | ||
+ | </ | ||
+ | |||
+ | Pour tester ce code, j' | ||
+ | * double(0) vaut 0, | ||
+ | * double (21) vaut 42 | ||
+ | |||
+ | Ma méthode sera exacte. | ||
+ | |||
+ | On utilise le mot clé [[http:// | ||
+ | <note warning> | ||
+ | Les fonctions de tests doivent toutes commencer par '' | ||
+ | </ | ||
+ | |||
+ | Ajouter la méthode ci-après à votre fichier : | ||
+ | <code python> | ||
+ | def test_double(): | ||
+ | assert double(0) == 0 | ||
+ | assert double(21) == 42 | ||
+ | </ | ||
+ | |||
+ | et executez là : | ||
+ | <code python> | ||
+ | test_double() | ||
+ | </ | ||
+ | |||
+ | Si tout s'est passé comme prévu, il ne s'est rien passé. Normal, l''' | ||
+ | <code python> | ||
+ | Traceback (most recent call last): | ||
+ | File "/ | ||
+ | test_double() | ||
+ | File "/ | ||
+ | assert double(0) == 7 | ||
+ | AssertionError | ||
+ | </ | ||
+ | |||
+ | Ainsi, si tout se passe bien, nos tests sont passés, si le programme s' | ||
+ | |||
+ | ==== Séparer code et tests ==== | ||
+ | |||
+ | Placez la fonction de test (et son exécution) dans un fichier que vous nommerez '' | ||
+ | |||
+ | Faites en sorte qu'il s' | ||
+ | |||
+ | <note warning> | ||
+ | On séparera toujours les tests du code. Tout fichier de test commence par '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Utilisation de l' | ||
+ | |||
+ | Nous allons demander à l' | ||
+ | |||
+ | Commencez par supprimer l' | ||
+ | <note warning> | ||
+ | Un fichier de test ne doit contenir que des fonctions. | ||
+ | </ | ||
+ | |||
+ | Puis nous allons demander à pycharm d' | ||
+ | * le champ '' | ||
+ | * le champ '' | ||
+ | |||
+ | Une fois ceci configuré, cliquez sur le bouton OK. | ||
+ | |||
+ | Un nouvel environnement de test est créé dans l' | ||
+ | |||
+ | Pour finir cette partie : | ||
+ | * séparez votre fonction de tests en 2 fonctions (chaque fonction de test ne doit contenir qu'une chose à tester, donc a priori qu'un seul '' | ||
+ | * exécutez votre nouvel environnement | ||
+ | * ajoutez une fonction de test qui plante. Exécutez votre environnement de test. Voyez la barre rouge. Supprimez ce test non valide. | ||
+ | |||
+ | ==== Les tests en ligne de commande ==== | ||
+ | |||
+ | La bibliothèque [[http:// | ||
+ | |||
+ | ===== Rédacteurs ===== | ||
+ | |||
+ | * Augustin Agbo-Kpati | ||
+ | * François Brucker |