« PYTHON - Les bases » et « Liens à trier » : différence entre les pages

De PedroWiki
(Différence entre les pages)
Aller à la navigationAller à la recherche
imported>Jules
 
imported>Jules
Page créée avec « = Introduction = Cette page sert de stockage de liens, le temps de réorganiser si besoin ces liens dans des pages dédiées. = Liens = == Théorie informatique == * [... »
 
Ligne 1 : Ligne 1 :
= Introduction =
= Introduction =


Cet article sert de bloc note lors de mon apprentissage du langage Python.
Cette page sert de stockage de liens, le temps de réorganiser si besoin ces liens dans des pages dédiées.
Il a plus vocation à être un pense bête qu'un vrai support de formation.


= Liens utiles =
= Liens =


* [https://www.python.org/about/gettingstarted/ Python pour les débutants].
== Théorie informatique ==
* [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 =
* [https://github.com/alex/what-happens-when What happens when...]


* Langage fortement objet.
[[Category:A MODIFIER]]
* 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 ==
 
<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]]

Version du 17 mars 2021 à 12:48

Introduction

Cette page sert de stockage de liens, le temps de réorganiser si besoin ces liens dans des pages dédiées.

Liens

Théorie informatique