PYTHON - Les bases : Différence entre versions
De PedroWiki
(→Liens utiles) |
|||
(22 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 8 : | 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 15 : | Ligne 18 : | ||
* Pas de déclaration des variables nécessaire. | * Pas de déclaration des variables nécessaire. | ||
* Indentation "standard" python: 4 espaces. | * 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 = | ||
Ligne 49 : | Ligne 53 : | ||
== Chaînes de caractères / strings == | == 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 == | == Nombres == | ||
Ligne 66 : | Ligne 113 : | ||
print(number2) | print(number2) | ||
print(number3) | 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 = | = Operators = | ||
Ligne 99 : | Ligne 191 : | ||
* Opérateur: '''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 = | = Structures de contrôle = | ||
Ligne 106 : | Ligne 222 : | ||
<u>Usage:</u> | <u>Usage:</u> | ||
if (condition): | if (condition): | ||
− | + | action1 | |
+ | else: | ||
+ | action2 | ||
+ | |||
+ | ou | ||
+ | |||
+ | if (condition): | ||
+ | action1 | ||
+ | elif condition2: | ||
+ | action2 | ||
+ | ... | ||
+ | else: | ||
+ | default_action | ||
<u>Example:</u> | <u>Example:</u> | ||
Ligne 116 : | Ligne 244 : | ||
if isinstance(numVar, int) and numVar == 3: | if isinstance(numVar, int) and numVar == 3: | ||
print("Valeur numérique: %d" % numVar) | 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]] |
Version actuelle datée du 25 juin 2024 à 15:45
Sommaire
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)