les Bases du langage 📜
bonjour, j'espère que vous vous portiez bien, dans ce début du cours de python, nous allons voir les différents types de variables qui existent en python. nous ne parlerons cependant des set qui ne sont pas très répandue. nous verrons également les diverses fonctions associées à chaque type de variable.😎
1-operateurs arithmétique et les mots réservés
operateurs arithmétiques
L’IDLE
de Python est une véritable calculatrice scientifique permettant même de faire
des comparaisons. Les opérateurs utilisés pour les calculs et les comparaisons
sont les suivants :
« + » : permet d'additionner deux variables
numériques (mais aussi de concaténer des chaînes de caractères ; ne vous
inquiétez pas, on aura l'occasion d'y revenir).
« - » : permet de soustraire deux variables numériques.
« * » : permet de multiplier deux variables numériques.
« / » : permet de diviser deux variables numériques (mais je crois que vous
aviez deviné).
« % » : permet de renvoyer le reste de la division entière de deux variables de
type numérique ; cet opérateur s'appelle le modulo.
«
== » ou is : permet de tester l'égalité.
« != » ou is
not : permet de tester
l’inégalité.
« < » : strictement inférieur.
« <= » : inférieur ou égal.
« > » : strictement supérieur.
« >= » : supérieur ou égal.
« ? : » : l'opérateur ternaire.
b- les mots réservés
Ce sont des fonctions ou expressions
intégrés au langage python et qui par conséquent ne peuvent pas être utilisé
comme nom de variable ou de fonction. Nous allons vous les citer ici, mais leur
utilisation sera démontrée tout au long des différents documents.
and |
as |
assert |
break |
class |
continue |
def |
2- Les variables
En python, la déclaration de variable est assez
simple. Elle se fait en donnant le nom de la variable suivi par le signe = et
ce terminant par la valeur de la variable
Exemple :
Nom= ‘neji’ ou
pi=3.14
Donc retiendrons donc que :
Déclaration de variable en python :
« nom variable »
= « valeur variable »
En Java nous aurions eu :
« type
variable » « nom
variable »= « valeur variable »
Le signe = fait référence à une affectation ou
assignation. Il est différent du signe == qui lui fait référence à l’équivalence.
Ainsi donc les codes suivant sont différents :
Nom= ‘neji’ et Nom== ‘neji ‘
Nom =’neji’ veut dire qu’a la variable Nom, on
assigne la valeur ‘neji’ tandis que Nom==’neji’ regarde si la variable Nom
contient la valeur ‘neji’. Le == est plus utilisé dans les conditions.
Lors de la création d’une variable python, le
type est attribué automatiquement en fonction de la valeur de la variable, on
parle de « typage automatique ». Ainsi donc, si je crée nom=’neji ‘, ma variable nom prend automatiquement
le type « string » ou chaine de caractère tandis que pi=3.14
prend automatiquement le type
« float » ou nombre réel.
La déclaration d’une variable commence toujours
par une lettre (je dis bien toujours, car il y’a souvent des chercheurs qui
aiment chercher des problèmes aux ordinateurs)
La fonction type()
permet de vérifier le type d’une variable
La fonction print()
permet d’afficher une valeur ou le contenu d’une variable
le type int (nombre entier)
int fait référence à intégrer et
correspond au nombre entier positif et négatif
Exemple : annee = 365
Jour=24
vous pouvez convertir un
nombre décimal en entier en utilisant la fonction int(valeur) :
>>> pi=3.14
>>> int(pi)
3
Mais vous ne pouvez pas
convertir une chaine de caractère qui contient des lettres en entier ou en
réel :
>>> nom="neji"
>>> int(nom)
Traceback
(most recent call last):
File "<pyshell#1>", line 1,
in <module>
int(nom)
ValueError:
invalid literal for int() with base 10: 'neji'
Ce texte que
vous voyez en rouge est un message d’erreur que python vous renvoi en cas de
dysfonctionnement du code
Pourtant
>>> Age="25"
>>> int(Age)
25
Le type float (nombre décimaux)
float fait référence au nombre réel ou décimaux
relatif
Exemple : pi=3.14
lnE=2.71
la fonction float(valeur) vous permet de convertir les
entiers en réel :
>>> jour=24
>>> float(jour)
24.0
La fonction round()
permet d’arrondir un réel :
>>> valeur1=3.81
>>> valeur2=3.21
>>> round(valeur1)
4
>>> round(valeur2)
3
le type string (chaine de caractère)
string fait référence aux chaines de caractères,
c’est-à-dire un enchainement de plusieurs symboles ou lettres ou chiffres
exemple :
>>> phrase="bonjour
le monde"
>>> mot="monde"
>>> type(phrase)
<class 'str'>
>>> type(mot)
<class 'str'>
Contrairement aux autre type de variable, la
fonction str() converti n’importe quel autre
type de variable en chaine de caractère
>>> valeur1 =3.81
>>> valeur2 =3.21
>>> str(valeur1)
'3.81'
>>> str(valeur2)
'3.21'
Usage de guillemets " " et ' '
Lors de la déclaration d’une chaine de
caractère, l’assignation de la valeur se fait en utilisant soit les simples
cotes ' bonjour' ou les doubles cotes " bonjour". Il n’est pas donc possible
de les mélanger comme dans les exemples suivant :
>>> nom="neji'
SyntaxError:
EOL while scanning string literal
>>> nom='neji"
SyntaxError:
EOL while scanning string literal
Les bonnes déclarations sont donc :
>>> nom="neji"
>>> nom='neji'
Cependant l’on peut utiliser l’un ou l’autre
des cotes à l’intérieur de l’autre
>>> phrase="le
cousin de l'ami de mon frère"
>>> phrase='le
mont "Ararat" est en Turquie'
Tabulation, retour à la ligne et échappement
\n permet de faire faire un retour à la ligne
>>> phrase="bonjour
le monde\n de l'ami"
>>> print(phrase)
bonjour le monde
de l'ami
\t permet de faire une tabulation
>>> phrase="bonjour
le monde\t de l'ami"
>>> print(phrase)
bonjour le monde de l'ami
\permet d’échapper un caractère c’est-à-dire
faire apparaitre un caractère qui n’apparait généralement pas à l’écran
>>> phrase="bonjour
le monde\\t de l'ami"
>>> print(phrase)
bonjour le monde\t de l'ami
le \t est apparut
La concaténation
Il s’agit d’additionner 2 ou plusieurs chaine
de caractères pour avoir une chaine plus longue
Les exemples suivant sont des concaténations
possibles :
>>> nom1="neji"+" Hyuga"
>>> nom1
'neji Hyuga'
>>> nom2="le
plus fort est "+nom1
>>> nom2
'le plus fort est neji Hyuga'
>>> nom3="
: clan Hyuga"
>>> nom4=nom2+nom3
>>> nom4
'le plus fort est neji Hyuga :
clan Hyuga'
Le formatage de chaine
Le formatage de chaine vous permet d’introduire
des variables à l’intérieur d’une chaine de caractère sans concaténation. Il se
fait par usage de la fonction format (). Le
formatage se fait par la formule : "texte
{var1} texte {var2}".format (var1, var2)
Exemple :
>>> name="Konoha"
>>> Habitant=35000
>>> print("Pain
a terrassé le village de {} qui comptait près de {} ninjas".format(name, habitant) )
Pain a terrassé le village de Konoha
qui comptait près de 35000 ninjas
Opération sur les chaines
• split() :
convertit une chaîne en une liste de sous-chaînes. On peut choisir le caractère
séparateur en le fournissant comme argument, sinon c’est un espace par défaut :
>>> c2 ="Votez
pour moi"
>>> a = c2.split()
>>> print(a)
['Votez', 'pour', 'moi']
>>> c4 ="Cet
exemple, parmi d'autres, peut encore servir"
>>> c4.split(",")
['Cet exemple', " parmi
d'autres", ' peut encore servir']
• join(liste)
: rassemble une liste de chaînes en une seule (cette méthode effectue donc
l’action inverse de la précédente). Attention : la chaîne à laquelle on
applique cette méthode est celle qui servira de séparateur (un ou plusieurs
caractères) ; l’argument transmis est la liste des chaînes à rassembler :
>>> b =["la
", "vie", "est", "belle"]
> >> print(" ".join(b))
La vie est belle
>>> print("---".join(b))
Bête---à---manger---du---foin
• find(sch)
: cherche la position d’une sous-chaîne sch dans la chaîne :
>>> ch1 = "Cette leçon vaut bien
un fromage, sans doute ?"
>>> ch2 = "fromage"
>>> print(ch1.find(ch2))
25
• count(sch)
: compte le nombre de sous-chaînes sch dans la chaîne :
>>> ch1 = "Le
héron au long bec emmanché d'un long cou"
>>> ch2 = 'long'
>>> print(ch1.count(ch2))
2
• lower() :
convertit une chaîne en minuscules :
>>> ch = "CÉLIMÈNE
est un prénom ancien"
>>> print(ch.lower())
célimène est un prénom ancien
• upper() :
convertit une chaîne en majuscules :
>>> ch = "Maître
Jean-Noël Hébèrt"
>>> print(ch.upper())
MAÎTRE JEAN-NOËL HÉBÈRT
• title() :
convertit en majuscule l’initiale de chaque mot (suivant l’usage des titres
anglais) :
>>> ch ="albert
rené élise véronique"
>>> print(ch.title())
Albert René Élise Véronique
• capitalize()
: variante de la précédente. Convertit en majuscule seulement la première
lettre de la chaîne :
>>> b3 = "quel
beau temps, aujourd’hui !"
>>> print(b3.capitalize())
"Quel beau temps,
aujourd’hui !"
• swapcase()
: convertit toutes les majuscules en minuscules, et vice-versa :
>>> ch = "Le
Lièvre Et La Tortue"
>>> print(ch.swapcase())
lE lIÈVRE eT lA tORTUE
• strip() :
enlève les espaces éventuels au début et à la fin de la chaîne :
>>> ch = " Monty Python "
>>> ch.strip()
'Monty Python'
• replace(c1,
c2) : remplace tous les caractères c1 par des caractères c2 dans la chaîne
>>> ch8 = "Si
ce n'est toi c'est donc ton frère"
>>> print(ch8.replace("
","*"))
Si*ce*n'est*toi*c'est*donc*ton*frère
• index(car)
: retrouve l’indice (index) de la première occurrence du caractère car dans la
chaîne :
>>> ch9 ="Portez
ce vieux whisky au juge blond qui fume"
>>> print(ch9.index("w"))
16
Pour finir il est possible de convertir une
chaine en entier ou en réel à condition que celle-ci contienne uniquement des
chiffres
Exemple :
>>> h="352"
>>> int(h)
352
Par contre :
>>> h="352pl"
>>> int(h)
Traceback
(most recent call last):
File "<pyshell#22>", line 1,
in <module>
int(h)
ValueError:
invalid literal for int() with base 10: '352pl'
Le type list (liste d’éléments)
Les listes sont des tableaux qui sont capable
de contenir tous les types de variable y compris les listes elles même. On
déclare une liste de la façon suivante :
« Nom liste » = []
Exemple :
>>> Name = ["neji","hinata","hanabi","hizashi","hiashi"]
>>> Force= [960,
345, 700, 850,750]
>>> NameStrenght= ["neji", 960,"hinata",345.5,"hanabi",700]
>>> ListComplete= ["bonjour", 365, ["italie","cameroon","france"]
,455.2]
Sélection dans les listes
La sélection dans les listes
se fait selon la même méthode que la définition des intervalles comme en
mathématique
Ainsi, les exemples suivants expliquent
mieux cette sélection.
nombres = [5, 38, 10, 25]
>>> print(nombres[2])
10
>>> print(nombres[1:3])
[38, 10]
>>> print(nombres[2:3])
[10]
>>> print(nombres[2:])
[10, 25]
>>> print(nombres[:2])
[5, 38]
>>> print(nombres[-1])
25
>>> print(nombres[-2])
10
Donc [2 :2] veut dire [2 : à partir
de l’indice 2, :2] indice 2 exclue donc l’espace entre l’élément 1 et l’élément
2
[2 :] veut dire [2 : jusqu’à la fin
[:2] Veut dire tout avant l’élément 2
Opération sur les listes
>>>
nombres = [17, 38, 10, 25, 72]
>>> nombres.sort() : tri la liste
>>>
nombres
[10, 17, 25,
38, 72]
>>>
nombres.append(12) :
ajoute un élément à la fin de la liste
[10, 17, 25,
38, 72, 12]
>>> nombres.reverse() : renverse les éléments de la liste
>>>
nombres
[12, 72, 38,
25, 17, 10]
>>>
nombres.remove(38) :
enlève les éléments de la liste
>>>
nombres
[12, 72, 25,
17, 10]
En plus de ces méthodes, vous disposez
encore de l’instruction intégrée del, qui vous permet d’effacer un ou plusieurs éléments à partir de leur(s)
index :
>>> del nombres[2]
>>> nombres
[12, 72, 17,
10]
>>> del nombres[1:3]
>>> nombres
[12, 10]
Les listes
sont concaténables (additionnables)
>>> couleur=["rouge","bleu"]+["violet","rose"]
>>> couleur
['rouge', 'bleu', 'violet',
'rose']
Les listes sont multipliables
>>> number=[0]*7
>>> number
[0, 0, 0, 0, 0, 0, 0]
La fonction list()
La fonction list transforme
une chaine de caractère ou une un ensemble de nombre en liste
Exemple :
>>> name="neji hyuga"
>>> list(name)
['n',
'e', 'j', 'i', ' ', 'h', 'y', 'u', 'g', 'a']
La fonction len()
Len() mesure la longueur d’un elements
Exemple :
>>> name="neji hyuga"
>>> len(name)
10
La fonction range()
Elle renvoie une séquence d’entiers70 que vous
pouvez utiliser directement, ou
convertir en une liste avec la fonction list(),
ou convertir en tuple avec la fonction tuple() (les
tuples seront décrits un peu plus loin) :
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
La fonction range()
génère par défaut une séquence de nombres entiers de valeurs
croissantes, et Différant d’une unité. Si vous appelez range()
avec un seul argument, la liste contiendra un nombre de valeurs égal à
l’argument fourni, mais en commençant à partir de zéro (c’est-à-dire que
range(n) génère les nombres de 0 à n-1). Notez bien que l’argument fourni n’est
jamais dans la liste générée. On peut aussi utiliser range()
avec deux, ou même trois arguments séparés par des virgules, afin de
générer des séquences de nombres plus spécifiques :
>>> list(range(5,13))
[5, 6, 7, 8, 9, 10, 11, 12]
>>> list(range(3,16,3))
[3, 6, 9, 12, 15]
Si vous avez du mal à assimiler l’exemple
ci-dessus, considérez que range() attend
toujours de un à trois arguments, que l’on pourrait intituler FROM, TO et STEP.
FROM est la première valeur à générer, TO est la dernière (ou plutôt la
dernière + un), et STEP le « pas » à sauter pour passer d’une valeur à la
suivante. S’ils ne sont pas fournis, les paramètres FROM et STEP prennent leurs
valeurs par défaut, qui sont respectivement 0 et 1.
Les arguments négatifs sont autorisés :
>>> list(range(10, -10, -3))
[10, 7, 4, 1, -2, -5, -8]
Le type tuple (liste immuables)
Les tuples, sont pareils que
les Listes à la différence que les tuples ne sont pas modifiables. La déclaration
d’un tuple se fait en utilisant le les parenthèses à la place des crochets
>>> pays=("cameroon","france","pays
bas")
>>> print(type(pays))
<class
'tuple'>
>>> name=['n', 'e', 'j', 'i', ' ', 'h', 'y', 'u', 'g', 'a']
>>> print(type(name))
<class
'list'>
La fonction tuple()
permet de transformer une liste ou une chaine de caractère en tuple.
Le type boolean
Les variables de type global
peuvent uniquement prendre 2 valeur soit True
soit False
>>>
flag=True
>>>
flag=False
Untype
le type none défini une
fonction qui n’a pas de type
>>> flag=None
Les dictionnaire type Dict{}
Les dictionnaires sont des conteneurs
beaucoup plus pratiques pour l’assignation. Contrairement aux listes où ce sont
les index qui sont utilisé pour accéder à un élément, ici nous pouvons
directement associer un mot ou un entier à un élément. Un peu comme dans un
dictionnaire anglais français. Pour les dictionnaires, nous utiliserons des
accolades.
Opérations de base dans une liste dictionnaire
Créer une liste :
>>> myDictFrEn=dict()
>>> myDictFrEn={}
Ajouter des éléments :
>>> myDictFrEn[‘car’]=’voiture’
>>> myDictFrEn[‘house’]=’maison’
>>> myDictFrEn[‘road’]=’route’
Afficher le dictionnaire
>>> myDictFrEn
{'car':
'voiture', 'house': 'maison', 'road': 'route'}
Vous remarquez bien que la
correspondance est bien spécifique par rapport aux listes.
Effacer des éléments
Par ce faire, nous
utiliserons le mot clé del
>>> del myDictFrEn['car']
>>> myDictFrEn
{'house':
'maison', 'road': 'route'}
Les méthodes des dictionnaires
La méthode keys() :
Elle renvoie un tuple
contenant toute les clés du dictionnaire que vous pourrez modifier ou utilisez
plutard. Le résultat doit être transformé par les méthodes list()ou tuple().
>>>
myKeys=list(myDictFrEn.keys())
>>> print(myKeys)
['house',
'road']
La methodes values()
Cette méthode fonctionne à l’inverse
de keys(), elle renvoie plutôt les valeurs associés aux clés.
>>>
myValues=list(myDictFrEn.values())
>>> print(myValues)
['maison',
'route']
La méthode items()
Elle permet d’obtenir les
clés et valeurs associées sous forme de pair de tuple. Le résultat est
également stockés dans une liste ou dans un tuple.
>>>
myItems=list(myDictFrEn.items())
>>>
print(myItems)
[('house',
'maison'), ('road', 'route')]
La méthode copy()
Elle permet de faire la copy
du dictionnaire, ce qui est différent de l’affection à une nouvelle variable
qui créer juste une autre référence vers le même objet.
>>>
mySecondDict=myDictFrEn.copy()
Commentaires
Enregistrer un commentaire