PYTHON - Les bases : Différence entre versions

De PedroWiki
(Chaînes de caractères / strings)
(Chaînes de caractères / strings)
Ligne 49 : Ligne 49 :
  
 
== 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.
 +
 +
=== Opérateurs ===
 +
 
* On peut utiliser l'opérateur '''+''' pour concaténer des chaines.
 
* On peut utiliser l'opérateur '''+''' pour concaténer des chaines.
  
Ligne 59 : Ligne 64 :
  
 
  string = "Hello" * 5
 
  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:
 
* 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:
Ligne 68 : Ligne 75 :
 
  print("Hello %s!" % nom)
 
  print("Hello %s!" % nom)
 
  print("Are we sure %s is %d?" % (nom,age))
 
  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 ==
 
== Nombres ==

Version du 4 janvier 2021 à 17:35

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)