PYTHON - Les bases

De PedroWiki

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.

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.

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

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