ag>cours python classe}}
====== Python: classes, instances et méthodes ======
Vous savez qu'en Pyth... finies par leur type. En Python, les types "built-in" sont très puissants mais ils ne peuvent pas couv... éé. Vous aurez ainsi ce qu'on appelle une usine à instances (la classe permet de produire les instances); à chaque fois que vous appellerez votre classe,
que l'on utilise pour manipuler les attributs des instances. Cependant, nous avons également expliqué ... ui se manipulent exactement comme des types built-in.
Vous pouvez tout à fait créer une classe `Phrase` que vous allez initialiser comme vous initialiseriez, par exemple, une liste, directement à la construction de l'instan
fonctions ======
Une fonction se définit avec l'instruction *def*, suivie du nom de la fonction, dan... '**:**' après les arguments signifie que l'on va introduire un bloc de code, ce sera le bloc de code ... (a, b, c)
</code>
Ici le bloc contient une seule instruction, appelant *print* qui va simplement affi... il est extrêmement économe en terme de mémoire. L'inconvénient, c'est qu'il est fait de manière implic
résentation =====
La relation d'héritage entre l'instance et la classe qui crée cette instance a été abordée dans le wiki [[610_classe_instance_methode | "Classes, instances et méthodes" ]]. Cette relation d'héritage s'exprime lors de la r
s itérables.
Ces compréhensions cependant ont un inconvénient majeur, c'est qu'elles créent des struc... duit une liste en mémoire
>>> carre = [x**2 for x in range(1000)]
</code>
Cette liste est créée en mé... **itérable**, on peut utiliser la fonction *built-in* ''sum'':
<code python>
>>> sum(carre)
332833500... drée par des parenthèses
>>> carre = ( x**2 for x in range(1000) )
# on peut s'en assurer
>>> type(ca
tag>cours fun-mooc python3 todo}}
====== Python: Introduction aux classes ======
Les types built-in, bien qu'étant de nature différente, se manipulent ... *. Faire le test d'appartenance, c'est fait avec *in*.
Cette uniformité dans le comportement des obje... a bien au-delà de cette puissance des types built-in. En fait, en Python, vous pouvez écrire **vos pro
mmes.
Dans cette vidéo, je vais vous parler de l'instruction **if else**, qui permet de faire de l'**... ai ou qu'un test soit faux. Par exemple, dans une instruction if else, vous pouvez tester si quelque c... égal à quelque chose d'autre, vous pouvez tester inférieur ou inférieur ou égal, vous pouvez tester l'égalité ou la différence, l'égalité étant le double
ore plus de types que cela. Ouvrons maintenant un interpréteur Python pour commencer à jouer avec les ... ython est un ensemble fini et ordonné d'éléments, indicés de 0 à n - 1 si j'ai n éléments. Prenons un ... dans une séquence ? J'utilise la fonction **built-in len**. Donc je fais un len(s) et ça va me retourn... n Python puisque je peux faire : est-ce que 'egg' in s et ça va me retourner vrai, effectivement, la c
====
Le cours disponible est sur FUN MOOC, il s' intitule **"Python 3: des fondamentaux aux concepts avancés du langage"**. Il est proposé par l' **Inria** et l' **Université Côte d'Azur**.
===== Semaine 1: Introduction au MOOC et aux outils Python =====
* [[110_interpreteur_et_idle|Interpréteur et IDLE]]
* [[12
ttre de parcourir les objets de manière simple et intuitive.
La **boucle for** abordée précédemment p... ython sont des objets simples qui définissent une interface unique que l'on appelle le **protocole d'i... ple et compact que l'on peut parcourir de manière intuitive. Un objet que l'on peut parcourir grâce à ... arcourir de multiples fois. Ouvrons maintenant un interpréteur Python pour découvrir cette notion d'it
hiers** sont, comme souvent en Python, simples et intuitifs à utiliser, cependant il faut maîtriser tr... otion de context manager**. Ouvrons maintenant un interpréteur Python pour commencer à jouer avec ces ... un exemple.
Nous allons créer un fichier avec l'instruction **built-in open**, avec la fonction built-in open. Créons un fichier donc je fais une variab
plus structurées qu'avec un simple module.
Comme introduit [[570_importation_module_et_espaces_nommag... e tout concentrer en un seul fichier. C'est là qu'intervient la notion de **package**, qui est un peu ... e répertoire courant:
<code>
package_jouet/
├── __init__.py
└── module_jouet.py
</code>
Ci dessous le contenu des fichiers ''%%__init__%%.py'' et ''module_jouet.py''
<code python _
des tables de hash, on a donc un temps d'accès, d'insertion d'effacement et un test d'appartenance qui sont indépendants du nombre d'éléments. De plus, les dict... t calculer cette fameuse fonction de hash. Pour l'instant, sachez qu'en Python **tous les objets immua... ts mutables ne sont pas hashables**. Quelle est l'intuition derrière ça ? C'est que vous vous souvenez
ables ======
Un *bloc de code* est un ensemble d'instructions contiguës indentées du même nombre de caractères. Lorsque vous faites une opération d'affec... **binding**.
Ces termes sont utilisés de manière interchangeable. La **portée d'une variable** déterm... ns englobantes *g* et vaut 2, on voit également l'instruction ''%%b = b + 10%%'', au moment de l’exécu