PYTHON - Les bases : Différence entre versions
De PedroWiki
(→Généralités) |
(→Liens utiles) |
||
Ligne 9 : | Ligne 9 : | ||
* [https://www.learnpython.org/ Learn Python]. | * [https://www.learnpython.org/ Learn Python]. | ||
* [https://github.com/gto76/python-cheatsheet Python CheatSheet]. | * [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 = |
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)