« PYTHON - Les bases » : différence entre les versions
De PedroWiki
Aller à la navigationAller à la recherche
imported>Jules Aucun résumé des modifications |
imported>Jules |
||
(29 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
Cet article sert de bloc note lors de mon apprentissage du langage Python. | Cet article sert de bloc note lors de mon apprentissage du langage Python. | ||
Il a plus vocation à être un pense bête qu'un vrai support de formation. | |||
= Liens utiles = | = Liens utiles = | ||
Ligne 7 : | Ligne 8 : | ||
* [https://www.python.org/about/gettingstarted/ Python pour les débutants]. | * [https://www.python.org/about/gettingstarted/ Python pour les débutants]. | ||
* [https://www.learnpython.org/ Learn Python]. | * [https://www.learnpython.org/ Learn Python]. | ||
* [https://github.com/gto76/python-cheatsheet Python CheatSheet]. | |||
* [https://pythontutor.com/ Python Tutor]. | |||
* [https://futurecoder.io/ Future Coder]. | |||
= Généralités = | = Généralités = | ||
Ligne 13 : | Ligne 17 : | ||
* Non typé. | * Non typé. | ||
* Pas de déclaration des variables nécessaire. | * Pas de déclaration des variables nécessaire. | ||
* Indentation "standard" python: 4 espaces. | |||
* Indentation importante pour l'évaluation des boucles, besoin d'une indentation cohérente. | |||
= Le couteau suisse: Print = | = Le couteau suisse: Print = | ||
Commande d'affichage. | * La BASE: Commande d'affichage. | ||
Usage: | Usage: | ||
Ligne 22 : | Ligne 28 : | ||
ou | ou | ||
print(variable) | print(variable) | ||
* Affichage d'une variable en forçant le type: | |||
Usage: | |||
stringVar = "toto" | |||
print("String: %s" % stringVar) | |||
intVar = 1 | |||
print("Int: %d" % intVar) | |||
floatVar = 15.0 | |||
print("Float: %f" % floatVar) | |||
= Variables = | = Variables = | ||
Ligne 27 : | Ligne 43 : | ||
== Affectation == | == Affectation == | ||
Simple: | |||
myvar = value | myvar = value | ||
print(myvar) | |||
= | Multiple: | ||
varA, varB = 1, 2 | |||
print(varA) | |||
print(varB) | |||
== Chaînes de caractères / strings == | |||
== | === Généralités === | ||
* Délimitées par des simples quotes ' ou des doubles quotes ". | * Délimitées par des simples quotes ' ou des doubles quotes ". | ||
* L'utilité des doubles quotes est de pouvoir inclure des apostrophes dans ses chaînes. | * L'utilité des doubles quotes est de pouvoir inclure des apostrophes dans ses chaînes. | ||
* Les chaînes sont "immutables" (par leurs méthodes). Il faut assigner le retour des méthodes à des variables intermédiaires. | |||
=== Opérateurs === | |||
* On peut utiliser l'opérateur '''+''' pour concaténer des chaines. | |||
string = "Hello" + " " + "world" | |||
* On peut utiliser l'opérateur '''*''' pour "multiplier" une chaîne. | |||
string = "Hello" * 5 | |||
=== Formatage === | |||
* Python utilise une syntaxe de formatage de chaînes de caractère similaire à celle du langage C, pour générer de nouvelles chaînes basées sur: | |||
** Une chaîne de formatage, mélangeant du texte et des spécifieurs d'arguments (%s, %d...) | |||
** Un opérateur '''%''' qui va instancier les variables d'un tuple à la place des spécifieux d'arguments. | |||
nom = "Jules" | |||
age = 46 | |||
print("Hello %s!" % nom) | |||
print("Are we sure %s is %d?" % (nom,age)) | |||
* '''NB:''' on peut utiliser le spécifieur %s sur un object de type liste. L'affichage fait alors appel à la méthode repr de l'objet liste pour l'afficher sous forme de chaine. | |||
myList = [1,2] | |||
print("Ma liste: %s" % myList) | |||
* les spécifieurs d'arguments les plus basiques sont: | |||
** '''%s''': Une chaîne ou n'importe quel objet ayant une représentation de type chaîne. | |||
** '''%d''': Un entier. | |||
** '''%f''': Un flottant. | |||
** '''%.<number of digits>f''': Un flottant avec un nombre fixe de chiffres après la virgule. | |||
** '''%x/%X''': Représentation Hexadécimale d'un entier (minuscule/majuscule). | |||
=== Méthodes === | |||
Les objects strings embarquent des méthodes: | |||
machaine.upper() | |||
machaine.lower() | |||
== Nombres == | |||
=== Integers === | |||
number1 = 1 | |||
print(number1) | |||
=== Floats === | |||
number2 = float(7) | |||
number3 = 7.2 | |||
print(number2) | |||
print(number3) | |||
= Structures de données = | |||
== Listes == | |||
<u>Généralités:</u> | |||
* Les listes sont assez similaire à des tableaux. | |||
* Les listes peuvent contenir tout type de variable. | |||
* Les listes peuvent contenir autant d'item qu'on le souhaite. | |||
* L'accès à un index qui n'existe pas provoque une erreur/une exception. | |||
* On peut utiliser l'opérateur '''+''' pour concaténer 2 listes. | |||
list1 = [1,2,3] | |||
list2 = [4,5,6] | |||
print(list1 + list2) | |||
* On peut utiliser l'opérateur '''*''' pour "multiplier" une liste. | |||
list = [1,2,3] | |||
print(list * 3) | |||
<u>Syntaxe:</u> | |||
Initialisation: | |||
AList = [] | |||
ou | |||
AList = [1,2,3] | |||
Méthode d'ajout d'un élément dans la liste: | |||
AList.append(<element>) | |||
Accès à un élément: | |||
print(AList[0]) | |||
Exception sur accès à un index inexistant: | |||
IndexError: list index out of range | |||
Longueur d'une liste: | |||
len(AList) | |||
Méthode de comptage d'occurence d'un élément dans une liste: | |||
x = object() | |||
x_list = [x] * 10 | |||
if x_list.count(x) == 10: | |||
print("La liste contient 10 éléments x") | |||
= Operators = | |||
== Comparaison == | |||
* Opérateur: '''==''' | |||
== Sum / Concatenation == | |||
* Opérateur: '''+''' | |||
<u>Example:</u> | |||
one = 1 | |||
two = 2 | |||
three = one + two | |||
print(three) | |||
ou | |||
str1 = "Hello" | |||
str2 = "World" | |||
strFull = str1 + " " + str2 | |||
print(strFull) | |||
* '''ATTENTION''' cela implique qu'on ne peut pas mélanger les variables numbers et strings lors de l'usage de cet opérateur. | |||
<u>Example non fonctionnel:</u> | |||
one = 1 | |||
two = 2 | |||
string = "chaine" | |||
print(one + two + string) | |||
== Logical AND == | |||
* Opérateur: '''and''' | |||
== Opérateurs arithmétiques == | |||
* Somme: '''+''' | |||
number = 1 + 2 | |||
* Produit: '''*''' | |||
number = 2 * 3 | |||
* Puissance/power: '''**''' | |||
number = 2 ** 3 | |||
* Division: '''/''' | |||
number = 4 / 2 | |||
* [https://fr.wikipedia.org/wiki/Modulo_(op%C3%A9ration) Modulo]: '''%''' | |||
number = 11 % 3 | |||
* '''ATTENTION:''' ces opérateurs ont une priorité d'évaluation entre eux. | |||
= Structures de contrôle = | |||
== If == | |||
<u>Usage:</u> | |||
if (condition): | |||
action1 | |||
else: | |||
action2 | |||
ou | |||
if (condition): | |||
action1 | |||
elif condition2: | |||
action2 | |||
... | |||
else: | |||
default_action | |||
<u>Example:</u> | |||
if stringVar == "Value": | |||
print("Chaine: %s" % stringVar) | |||
<u>Conditions multiples:</u> | |||
numVar = 3 | |||
if isinstance(numVar, int) and numVar == 3: | |||
print("Valeur numérique: %d" % numVar) | |||
== For == | |||
<u>Usage:</u> | |||
for x in <values>: | |||
print x | |||
<u>Example:</u> | |||
AList = [] | |||
AList.append(1) | |||
AList.append(2) | |||
AList.append(3) | |||
for x in AList: | |||
print(x) | |||
[[Category:Python]] | |||
[[Category:Language]] | |||
[[Category:Scripting]] | |||
[[Category:Devops]] |
Dernière version du 25 juin 2024 à 15:45
Introduction
Cet article sert de bloc note lors de mon apprentissage du langage Python. Il a plus vocation à être un pense bête qu'un vrai support de formation.
Liens utiles
Généralités
- Langage fortement objet.
- Non typé.
- Pas de déclaration des variables nécessaire.
- Indentation "standard" python: 4 espaces.
- Indentation importante pour l'évaluation des boucles, besoin d'une indentation cohérente.
Le couteau suisse: Print
- La BASE: Commande d'affichage.
Usage:
print("chaine de caractère")
ou
print(variable)
- Affichage d'une variable en forçant le type:
Usage:
stringVar = "toto" print("String: %s" % stringVar) intVar = 1 print("Int: %d" % intVar) floatVar = 15.0 print("Float: %f" % floatVar)
Variables
Affectation
Simple:
myvar = value print(myvar)
Multiple:
varA, varB = 1, 2 print(varA) print(varB)
Chaînes de caractères / strings
Généralités
- Délimitées par des simples quotes ' ou des doubles quotes ".
- L'utilité des doubles quotes est de pouvoir inclure des apostrophes dans ses chaînes.
- Les chaînes sont "immutables" (par leurs méthodes). Il faut assigner le retour des méthodes à des variables intermédiaires.
Opérateurs
- On peut utiliser l'opérateur + pour concaténer des chaines.
string = "Hello" + " " + "world"
- On peut utiliser l'opérateur * pour "multiplier" une chaîne.
string = "Hello" * 5
Formatage
- Python utilise une syntaxe de formatage de chaînes de caractère similaire à celle du langage C, pour générer de nouvelles chaînes basées sur:
- Une chaîne de formatage, mélangeant du texte et des spécifieurs d'arguments (%s, %d...)
- Un opérateur % qui va instancier les variables d'un tuple à la place des spécifieux d'arguments.
nom = "Jules" age = 46 print("Hello %s!" % nom) print("Are we sure %s is %d?" % (nom,age))
- NB: on peut utiliser le spécifieur %s sur un object de type liste. L'affichage fait alors appel à la méthode repr de l'objet liste pour l'afficher sous forme de chaine.
myList = [1,2] print("Ma liste: %s" % myList)
- les spécifieurs d'arguments les plus basiques sont:
- %s: Une chaîne ou n'importe quel objet ayant une représentation de type chaîne.
- %d: Un entier.
- %f: Un flottant.
- %.<number of digits>f: Un flottant avec un nombre fixe de chiffres après la virgule.
- %x/%X: Représentation Hexadécimale d'un entier (minuscule/majuscule).
Méthodes
Les objects strings embarquent des méthodes:
machaine.upper() machaine.lower()
Nombres
Integers
number1 = 1 print(number1)
Floats
number2 = float(7) number3 = 7.2 print(number2) print(number3)
Structures de données
Listes
Généralités:
- Les listes sont assez similaire à des tableaux.
- Les listes peuvent contenir tout type de variable.
- Les listes peuvent contenir autant d'item qu'on le souhaite.
- L'accès à un index qui n'existe pas provoque une erreur/une exception.
- On peut utiliser l'opérateur + pour concaténer 2 listes.
list1 = [1,2,3] list2 = [4,5,6] print(list1 + list2)
- On peut utiliser l'opérateur * pour "multiplier" une liste.
list = [1,2,3] print(list * 3)
Syntaxe:
Initialisation:
AList = []
ou
AList = [1,2,3]
Méthode d'ajout d'un élément dans la liste:
AList.append(<element>)
Accès à un élément:
print(AList[0])
Exception sur accès à un index inexistant:
IndexError: list index out of range
Longueur d'une liste:
len(AList)
Méthode de comptage d'occurence d'un élément dans une liste:
x = object() x_list = [x] * 10 if x_list.count(x) == 10: print("La liste contient 10 éléments x")
Operators
Comparaison
- Opérateur: ==
Sum / Concatenation
- Opérateur: +
Example:
one = 1 two = 2 three = one + two print(three)
ou
str1 = "Hello" str2 = "World" strFull = str1 + " " + str2 print(strFull)
- ATTENTION cela implique qu'on ne peut pas mélanger les variables numbers et strings lors de l'usage de cet opérateur.
Example non fonctionnel:
one = 1 two = 2 string = "chaine" print(one + two + string)
Logical AND
- Opérateur: and
Opérateurs arithmétiques
- Somme: +
number = 1 + 2
- Produit: *
number = 2 * 3
- Puissance/power: **
number = 2 ** 3
- Division: /
number = 4 / 2
- Modulo: %
number = 11 % 3
- ATTENTION: ces opérateurs ont une priorité d'évaluation entre eux.
Structures de contrôle
If
Usage:
if (condition): action1 else: action2
ou
if (condition): action1 elif condition2: action2 ... else: default_action
Example:
if stringVar == "Value": print("Chaine: %s" % stringVar)
Conditions multiples:
numVar = 3 if isinstance(numVar, int) and numVar == 3: print("Valeur numérique: %d" % numVar)
For
Usage:
for x in <values>: print x
Example:
AList = [] AList.append(1) AList.append(2) AList.append(3) for x in AList: print(x)