Portée des variables

This commit is contained in:
Julien Palard 2020-01-12 20:51:22 +01:00
parent 238c2e8a41
commit 61a8afd654
4 changed files with 163 additions and 4 deletions

View File

@ -100,3 +100,69 @@ en :
----
## La notation par intension
Ou :
```python
def phi(n):
numbers = []
for i in range(n):
if math.gcd(i, n) == 1:
numbers.append(i)
return len(numbers)
```
----
## La notation par intension
en :
```python
def phi(n):
return len(
[
i
for i in range(n)
if math.gcd(i, n) == i
]
)
```
Notes: Elle devrait s'écrire sur une seule ligne, mais, vidéoprojecteur...
---
# Les variables
----
## Le type des variables
En Python, les variables ne sont que des noms.
*Des « étiquettes » qu'on colle aux objets.*
Seul les valeurs sont typées.
*Toutes les valeurs sont des objets.*
Notes: Sans. Exceptions.
On peut « coller » plusieurs étiquettes à une même valeur.
C'est pour ça que pour `n = 10` on dit "n est assigné à 10", et non "10 est mis dans n".
----
## La portée des variables
Dans une fonction :
- Si on ne fait qu'accéder, ce sera une globale.
- Si on affecte, c'est une locale.
Notes:
Pour l'accès pensez à `print` par exemple, l'utiliser n'en fait pas une locale.
Une variable ne peut *presque* jamais ne pas contenir de valeur, et on ne peut pas la "déclarer".

View File

@ -5,6 +5,9 @@ HTML := $(addprefix output/,$(SRCS:.md=.html))
test:
python test.py *.md
index.md:
for file in *-*.md; do printf "%s\n\n" "$$file"; grep '^#' "$$file" | sed 's/.md:/ /;s/^/ /'; printf "\n\n"; done | uniq > $@
.PHONY: static
static: $(HTML)
rm -f output/index.html

View File

@ -2,6 +2,7 @@
https://mdk.fr/python-initiation/
## Programme
- Jour 1, matin
@ -28,10 +29,8 @@ https://mdk.fr/python-initiation/
## TODO
- La notation par intension
- la portée des variables
- objets immuables vs modifiables
- PDB
- objets immuables vs modifiales
- pdb /
- pytest et assert
- Bonnes pratiques :
- Nommer correctement.

91
index.md Normal file
View File

@ -0,0 +1,91 @@
1-intro.md
# Python 3.8
## Python : Introduction
## Qui utilise Python ?
## Combien utilisent Python ?
## Installation
## Démarrer un interpréteur
## L'interpréteur
## Testons l'interpréteur
## C'est votre nouvelle calculatrice
## Les exceptions
10-syntax.md
# Python 3.8
## L'instruction `while`
## `break` et `continue`
## `break`
## `continue`
## La notation par intension
# Les variables
## Le type des variables
## La portée des variables
2-types.md
# Types natifs
## Booléens
## Entiers
## Virgule flottante
## Chaînes de caractères
## Listes
## *n*-uplets
## Ensembles
## Dictionnaires
# Les opérateurs
## Les opérateurs
### Mathématiques
## Les opérateurs
### Mathématiques
## Les opérateurs
### Mathématiques
## Les opérateurs
## Les Comparisons
## Logique
## Test d'appartenance
## Travailler avec les ensembles
## Mais en cas d'ambiguité…
# Variables
## Affectation
## Affectation multiple
## Accès par indice
## Accès par clé
# Les méthodes
## Sur les chaînes
## Sur les listes
## Sur les dictionnaires
3-functions.md
# Les fonctions
## Fonctions natives
## print
## len
## range
## all
## any
## breakpoint
## help
## enumerate
## sorted
## exit
# Constuire ses propres fonctions
## Syntaxe
## Paramètres
## Arguments
4-instructions.md
# Les instructions
## if
## for
5-classes.md
# Les classes en Python
## La syntaxe
## À retenir
## Exemple