Python: Types de bases: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
No edit summary
Line 67: Line 67:
== Booléens ==
== Booléens ==


Un booléen a deux états possibles '''True''' ou '''False''' associés à 1 et 0 en binaire.
Un booléen a deux états possibles '''False''' ou '''True''', associés 0 pour le premier et 1 pour le second.
 
Il correspond au type '''bool''' en Python.
== Chaînes de caractères ==
C'est le type attendu par un test de condition et le résultat des opérateurs de comparaison
 
<source lang="py">
 
test = (2 == 1)
print test
bool(0)
bool(13928)
</source>


== Opérateurs standards ==
== Opérateurs standards ==
Line 111: Line 115:
ainsi que tous les opérateurs unaires qui prennent la variable et lui ré-affectent le résultat:
ainsi que tous les opérateurs unaires qui prennent la variable et lui ré-affectent le résultat:
+= , -= , *= , /= , **= , //= , %=
+= , -= , *= , /= , **= , //= , %=
== Chaînes de caractères ==
On peut les créer à partir de constantes entourées de guillemets ou entre apostrophes ou par l'utilisation de la fonction '''str'''
<source lang="py">
mot = "Bonjour!"
mot = 'Bonjour!'  # même résultat
nombre = 102983
vide = "" # chaîne de caractère vide ou pas de caractère
aff = str(nombre)
print nombre, aff
</source>
On peut additionner (on dit concaténer pour les chaînes de caractères) et multiplier des strings, mais pas les soustraire ou les diviser
<source lang="py">
mot = "et "
mot *= 3
mot += "alors..."
print mot
</source>
En fait, une 'string' fonction à peu près comme une liste dans laquelle chaque caractère est un élément. On peut donc accéder à ses éléments par les méthodes de slicing et autres.
<source lang="py">
mot = "Bonjour!"
print mot[-1], mot[3:5], 'B' in mot
</source>

Revision as of 16:59, 20 August 2015

Constante et variable

  • une constante désigne une valeur connue non modifiable possédant un certain type.
  • une variable est l'association d'un nom associé à un espace réservé en mémoire (une adresse) et un contenu qui est typé. La variable a le type du contenu.
  • certains types peuvent être convertis les uns en les autres, au prix parfois d'une perte d'information.
  • un opérateur est
  • une expression est la combinaison
  • l'affectation d'un contenu (constante, résultat d'une fonction ou d'une expression) à une variable se fait à l'aide du symbole '='.
a = 10 # on affecte la constante entière 10 à la variable 'a'

Il est possible en python de faire des affectations multiples sur la même ligne pour gagner en lisibilité et en concision

a, b, s = 10, 9.3, 'nom'

La fonction type() permet d'afficher le type d'une variable

type(a), type(b), type(c)

On peut obtenir l'adresse en mémoire vive d'une variable avec la fonction id()

id(a), id(b), id(c)

Entiers

Les entiers ont deux types int en 32bits et long en 64bits. Le passage en long se fait automatiquement si besoin.

a = 200
type(a)
a += 2**32
type(a)

Réels

Les nombres réels sont définis littéralement par l'usage du point qui symbolise la virgule:

a = 1.0 # on affecte la constante entière 10 à la variable 'a'

La notation scientifique usuelle permet de simplifier l'expression des puissances de 10:

print 3.2*10**3 == 3.2e3

La conversion en réel se fait par la fonction float qui permet de les définir également:

a = 2
type(a)
a = float(2)
type(a)

La bibliothèque math fournit de nombreuses fonctions mathématiques pour les réels.

Complexes

Les nombres complexes peuvent être créés et manipulés aisément dans python. Ils ont la forme 'a + bj' où 'a' et 'b' sont les parties réelles et imaginaires. On peut les créer aussi avec la fonction 'complex(a,b)'.

c = complex(1,2)
d = 1 + 2j
print c - d
print (1+1j)**2 / (1j)
print c.real, c.imag

La bibliothèque cmath fournit de nombreuses fonctions mathématiques pour les complexes.

Booléens

Un booléen a deux états possibles False ou True, associés 0 pour le premier et 1 pour le second. Il correspond au type bool en Python. C'est le type attendu par un test de condition et le résultat des opérateurs de comparaison

test = (2 == 1)
print test
bool(0)
bool(13928)

Opérateurs standards

Ils s'appliquent ou pas en fonction du type

symbole effet exemple
+ addition 6+4 == 10
- soustraction 6-4 == 2
* multiplication 6*4 == 24
/ division (entière ou réelle en fonction du type de donnée) 6/4 == 1 ou bien 6./4 == 1.5
** élévation à la puissance 12**2 == 144
// division entière 6//4 == 1
% reste de la division entière 6%4 == 2

ainsi que tous les opérateurs unaires qui prennent la variable et lui ré-affectent le résultat: += , -= , *= , /= , **= , //= , %=

Chaînes de caractères

On peut les créer à partir de constantes entourées de guillemets ou entre apostrophes ou par l'utilisation de la fonction str

mot = "Bonjour!"
mot = 'Bonjour!'  # même résultat
nombre = 102983
vide = "" # chaîne de caractère vide ou pas de caractère
aff = str(nombre)
print nombre, aff

On peut additionner (on dit concaténer pour les chaînes de caractères) et multiplier des strings, mais pas les soustraire ou les diviser

mot = "et "
mot *= 3
mot += "alors..."
print mot

En fait, une 'string' fonction à peu près comme une liste dans laquelle chaque caractère est un élément. On peut donc accéder à ses éléments par les méthodes de slicing et autres.

mot = "Bonjour!"
print mot[-1], mot[3:5], 'B' in mot