Ver código fonte

4.2. Fonctions

Benoît Hubert 7 anos atrás
pai
commit
f098177195

+ 3 - 3
react-tuto/src/markdown/4. Bases de Python/01. Premier programme.md

@@ -16,6 +16,6 @@ Puis dans le terminal (marche sous OS X, Linux *et* Windows/PowerShell) :
 
 Cela produit l'affichage de `Hello galaxy` dans le terminal. Ce petit programme nous permet déjà de faire trois constats.
 
-> Python est un langage de script, et n'a pas besoin de passer par une phase de compilation.
-> Contrairement à JavaScript (lui aussi un langage de script), on **ne déclare pas** les variables en Python, on les affecte directement (souviens-toi du <code><strong>var</strong> variable</code> en JS)
-> Il n
+- > Python est un langage de script, et n'a pas besoin de passer par une phase de compilation.
+- > Contrairement à JavaScript (souviens-toi du <code><strong>var</strong> variable</code> en JS), on **ne déclare pas** les variables en Python, on les affecte directement.
+- > Il n'est pas nécessaire de mettre des points-virgule à la fin des lignes. Ils sont acceptés, mais en pratique, *personne* dans la communauté Python ne les utilise. Leur seule utilité éventuelle est de séparer des instructions sur une même ligne.

+ 30 - 0
react-tuto/src/markdown/4. Bases de Python/02. Fonctions.md

@@ -0,0 +1,30 @@
+Voici maintenant un exemple de fonction en Python (crée le fichier `02-fonctions.py`) :
+
+```python
+def count_words(str):
+    return len(str.split(' '))
+
+message = "The show must go on!"
+print("Nombre de mots dans '%s' : %d" % (message, count_words(message)))
+```
+
+La fonction `count_words()` prend en paramètre une chaîne de caractères. Elle utilise la méthode `split()` accessibles aux chaînes (qui sont des objets !). Celle-ci fonctionne comme `split()` en JavaScript : elle sépare la chaîne selon le séparateur passé en paramètre, et renvoie une "liste" (l'équivalent des tableaux).
+
+Ensuite la fonction `len()` compte le nombre d'éléments dans la liste.
+
+Remarque ensuite ce qu'on met en arguments de `print()`. La partie entre guillemets ressemble à ce qu'on pourrait trouver en C ou en Java : `%s` et `%d` sont des "emplacements" pour des variables (chaîne et entier respectivement). Par contre, la syntaxe de la suite diffère : les valeurs à insérer dans les emplacements sont situées entre parenthèses, suite au caractère `%`.
+
+Pour terminer, le plus important à retenir de cet exemple... Voici comment on aurait écrit `count_words()` en JS :
+
+```javascript
+function count_words(str) {
+  return str.split(' ').length;
+}
+```
+
+Tu vois les différences ?
+> Python **n'utilise pas** la syntaxe `{}` pour ouvrir et fermer le corps d'une fonction (ou un bloc de code en général)
+
+> Au lieu de cela, on ouvre un bloc de code en utilisant `:` et **en laissant 4 espaces d'indentation** au début de chaque ligne du bloc.
+
+Cette dernière différence est absolument fondamentale ! Python se base sur l'*indentation* pour détecter ce qui appartient à un bloc.

Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
react-tuto/src/resources/markdown.json