« 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)


== Comparaison ==
Multiple:
varA, varB = 1, 2
print(varA)
print(varB)


==
== 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 ==
=== 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
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)