python3
ou ipython
Tapez python3
ou ipython
dans un terminal pour accéder à la console
# -*- coding: utf-8 -*-
ou # coding=utf-8
Pour exécuter vos scripts, deux options :
> python3 mon_script.py
ou (mais pourquoi faire compliqué ?)
> chmod u+x
> ./mon_script.py
en ajoutant ce shebang en première ligne :
#!/usr/bin/env python3
+
addition
2 + 5
7
-
soustraction
3 - 2
1
*
multiplication
2 * 3
6
/
division
36 / 6
6.0
%
modulo (reste de la division)
36 % 8
4
**
puissance
10 ** 2 * 4
400
36 / (2*3)
6.0
+
est aussi l'opérateur de concaténation de chaînes de caractères"Hello" + "world"
'Helloworld'
"Hello" + " " + "world"
'Hello world'
'
, soit de guillemets "
"
'Ça donne une erreur t'as vu'
File "<ipython-input-15-0c3a6c06d900>", line 1 'Ça donne une erreur t'as vu' ^ SyntaxError: invalid syntax
"Ça donne une erreur t'as vu"
"Ça donne une erreur t'as vu"
=
=
, sa valeur est affectée à la variable placée à gauche.var = 3 + 2
print(var)
another_var = var
print(another_var)
5 5
yet_another_var_2 = var + 1
yet_another_var_2
6
Les noms de variable sont composés de car. alphabétiques (min ou maj), des chiffres et de l'underscore. C'est tout.
Les noms de variable sont choisis par le programmeur, ils doivent être le plus clair possible.
En réalité il est conseillé de suivre la PEP 8.
je-ne-suis-pas-une-variable = 2
File "<ipython-input-21-d198b24009a3>", line 1 je-ne-suis-pas-une-variable = 2 ^ SyntaxError: can't assign to operator
3_moi_non_plus = 2 + 3
File "<ipython-input-22-fa265dc8484a>", line 1 3_moi_non_plus = 2 + 3 ^ SyntaxError: invalid token
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
PEP : Python Enhancement Proposals
Python est sous licence libre. Le langage a été créé par Guido Van Rossum mais depuis 2001 le développement de Python est géré par la Python Software Foundation (dont Guido était le "benevolent dictator for life" jusqu'en juillet 2018).
Les évolutions du langage sont détaillées dans ces PEP (proposées, examinées, corrigées, acceptées puis implémentées).
Les PEP les plus célèbres sont
import this
1 "There should be one-- and preferably only one --obvious way to do it." Tacle par derrière sur Perl, c'est pas joli-joli.
"Hello" + 1
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-23-465e48023fdd> in <module>() ----> 1 "Hello" + 1 TypeError: must be str, not int
type()
retourne le type de la variable donnée en argument.type("Hello")
str
str()
, int()
, float()
convertit l'argument dans le type désiré.bool()
retourne True
si l'argument est vrai, False
sinon (ce qui est rarement utile)int(3.14159265359)
3
"Hello" + str(1)
'Hello1'
Nous venons d'utiliser 4 fonctions.
Avant d'utiliser une fonction il est indispensable de savoir : ce que fait la fonction, quels sont les paramètres attendus, quelle est la valeur de retour.
Pour accéder à la documentation d'une fonction :
help(int)
(d'une fonction ou d'une classe ou d'un module)q
pour sortir de la doc
if condition:
#begin of block
instruction1
instruction2
#end of block
<
inférieur / <=
inférieur ou égal
>
supérieur / >=
supérieur ou égal
==
égal / !=
non égal
is
identité (pour les objets surtout) / is not
non identité
x = 4
if x > 3:
print("x a grandi")
x a grandi
if x > 3:
print("x a grandi")
else:
print("x n'a pas grandi")
x a grandi
not
négation
and
conjonction (True si les deux opérandes sont vraies, False sinon)
or
disjonction (True si une des deux opérandes est vraie)
if x > 3 and x <= 5:
print("x a grandi, un peu")
elif x > 5:
print("x a grandi")
else:
print("x n'a pas grandi")
x a grandi, un peu
if x is not None:
print("x n'est pas rien")
if not x is None: # Moins élégant et plus lent
print("x n'est toujours pas rien")
x n'est pas rien x n'est toujours pas rien
voyelles = []
voyelles = ['a', 'e', 'i', 'o', 'u']
voyelles[0]
'a'
keys()
renvoie la liste des clés, values()
la liste des valeurscouleurs = {'a':'noir', 'e':'blanc', 'i':'rouge', 'u':'vert', 'o':'bleu'}
couleurs['i'] = "pourpre"
couleurs
{'a': 'noir', 'e': 'blanc', 'i': 'pourpre', 'o': 'bleu', 'u': 'vert'}
couleurs.keys()
dict_keys(['a', 'e', 'i', 'u', 'o'])
couleurs.values()
dict_values(['noir', 'blanc', 'pourpre', 'vert', 'bleu'])
couleurs.items()
dict_items([('a', 'noir'), ('e', 'blanc'), ('i', 'pourpre'), ('u', 'vert'), ('o', 'bleu')])
i = 1
while i < 5:
print(i)
i = i + 1
1 2 3 4
for item in voyelles:
print(item)
a e i o u
for item in couleurs.keys():
print(item)
a e i u o
for key, value in couleurs.items():
print(key, value)
a noir e blanc i pourpre u vert o bleu
def soustraction(arg1, arg2):
res = arg1 - arg2
return res
diff = soustraction(5, 3)
diff
2
diff = soustraction(3, 5)
diff
-2
diff = soustraction(arg2=5, arg1=3)
diff
-2
Vous rendrez des scripts Python3. Avec des commentaires c'est mieux.