Introduction à Python pour l'analyse de données
Introduction à Python pour l'analyse de données
Module -1
Concepts de base de Python et programmation
• Variables, Mots-clés
• Énoncés et Expressions
• Opérateurs, Précédence et Associativité
• Types de données, indentation, commentaires
• Lire l'entrée, imprimer la sortie
• Conversions de type, la fonction type() et l'opérateur is
• Instructions de contrôle de flux
—L'instruction de contrôle de flux de décision if,
Introduction
• Facile à apprendre - Python a peu de mots-clés, une structure simple et une syntaxe clairement définie.
Cela permet à l'étudiant d'apprendre la langue rapidement.
• Facile à lire - Le code Python est plus clairement défini et visible à l'œil.
• Une vaste bibliothèque standard - La majeure partie de la bibliothèque de Python est très portable et multiplateforme.
• Mode interactif− Python prend en charge un mode interactif qui permet des interactions.
test et débogage de morceaux de code.
• Portable - Python peut fonctionner sur une grande variété de plateformes matérielles et a le même
interface sur toutes les plateformes.
• Les bases de données - Python fournit des interfaces à toutes les principales bases de données commerciales.
• Scalable− Python offre une meilleure structure et un meilleur support pour les grands programmes que d'autres
langages de script.
• Il existe plusieurs IDE (Environnement de Développement Intégré) disponibles pour travailler avec
Python. Certains d'entre eux sont PyCharm, LiClipse, IDLE, Jupyter, Spyder, etc.
• Lorsque vous installez Python, l'éditeur IDLE sera disponible automatiquement. En dehors de tout cela
Les éditeurs, le programme Python peut également être exécuté à l'invite de commande. Il faut installer le logiciel approprié.
IDE en fonction de leurs besoins et du système d'exploitation qu'ils utilisent. Parce qu'il y a
ensemble distinct d'éditeurs (IDE) disponibles pour différents systèmes d'exploitation comme Windows, UNIX, Ubuntu, Mac, etc.
Python dispose d'un ensemble riche de bibliothèques pour diverses fins, comme le traitement de données à grande échelle,
analytique prédictive, calcul scientifique, etc. En fonction des besoins de chacun, les packages nécessaires
peut être téléchargé. Mais il existe une distribution open source gratuite Anaconda, qui simplifie
gestion et déploiement des paquets. Il est donc suggéré aux lecteurs d'installer
Anaconda à partir du lien ci-dessous, plutôt que d'installer simplement un Python.
[Link]
L'installation réussie d'anaconda vous fournit Python dans une invite de commande, le par défaut
éditeur IDLE et aussi un environnement de calcul interactif basé sur le navigateur connu sous le nom de Jupyter
carnet
Par conséquent, ces langages de programmation de haut niveau doivent être traduits en langage machine.
interprets it immediately.
chaque ligne de code peut
Interprète générer le sortie
Source immédiatement
program
compilateur
fichiers exécutables
(avec les extensions .exe, .dll)
Interprète Compilateur
Traduit une instruction à la fois dans un programme. Scanne l'ensemble du programme et le traduit.
temps. dans son ensemble en code machine.
Il faut moins de temps pour analyser. Il faut beaucoup de temps pour analyser.
code source mais le temps d'exécution global
est plus lent. est comparativement plus rapide.
Continue à traduire le programme jusqu'à ce qu'il génère le message d'erreur seulement après
la première erreur est rencontrée, auquel cas il scanne tout le programme. Donc
s'arrête. Par conséquent, le débogage est facile. le débogage est relativement difficile.
Écrire un programme
• Un programme peut être écrit à l'aide d'un éditeur de texte.
• Pour écrire les instructions Python dans un fichier, appelé ascript. Par convention, Python
Les scripts ont des noms qui se terminent par .py.
• Pour exécuter le script, vous devez indiquer au programme Python le nom du fichier. Dans une
dans la fenêtre de commande, vous taperiez python [Link] comme suit :
$ [Link]
print('Bonjour le monde!')
$ [Link]
Bonjour le monde!
Le "$" est l'invite du système d'exploitation, et "cat [Link]" nous montre que le fichier
"[Link]" contient un programme Python d'une seule ligne pour imprimer une chaîne. Nous appelons l'interpréteur Python.
et dites-lui de lire son code source à partir du fichier « [Link] » au lieu de nous demander des lignes
de code Python
Exécution du programme
Compilation
Le programme est converti en code byte. Le code byte est un ensemble fixe d'instructions qui représentent
opérations arithmétiques, comparaisons, opérations sur la mémoire, etc. Il peut fonctionner sur n'importe quel système d'exploitation et
matériel. Les instructions en bytecode sont créées dans le fichier .pyc. Le compilateur crée un
répertoire nommé __pycache__ où il stocke le fichier .pyc.
Interprète
L'étape suivante consiste à convertir le code octet (.pyc) en code machine. Cette étape est
nécessaire car l'ordinateur ne peut comprendre que le code machine (code binaire). Python Virtuel
La Machine Virtuelle (PVM) comprend d'abord le système d'exploitation et le processeur de l'ordinateur, puis
les convertit en code machine. De plus, ces instructions de code machine sont exécutées par
processeur et les résultats sont affichés.
Contrôles de flux
Il existe des schémas conceptuels de bas niveau que nous utilisons pour construire des programmes. Ces
les constructions ne sont pas réservées aux programmes Python, elles font partie de chaque langage de programmation
du langage machine aux langages de haut niveau. Ils sont listés comme suit :
• Exécution séquentielle : Exécutez les instructions l'une après l'autre dans l'ordre dans lequel elles se trouvent.
Identifiants
• Un identifiant Python est un nom utilisé pour identifier une variable, une fonction, une classe, un module ou autre.
object. An identifier starts with a letter A to Z or a to z or an underscore (_) followed by zero
ou plus de lettres, de traits de soulignement et de chiffres (0 à 9).
• Python n'autorise pas les caractères de ponctuation tels que @, $, et % dans les identifiants. Python
est un langage de programmation sensible à la casse. Ainsi, Manpower et manpower sont deux différents
identifiants en Python.
• Voici les conventions de nommage pour les identifiants Python
Les noms de classes commencent par une lettre majuscule. Tous les autres identifiants commencent par une lettre minuscule.
lettre.
—Commencer un identifiant par un seul trait de soulignement indique que l'identifiant est
private.
—Commencer un identifiant par deux underscores devant indique un identifiant fortement privé.
—Si l'identifiant se termine également par deux underscores, l'identifiant est un langage-
defined special name.
Variables, Keywords
Variables
• Une variable est un endroit nommé dans la mémoire où un programmeur peut stocker des données et les récupérer plus tard.
récupérer les données en utilisant la variable "nom"
• Une instruction d'affectation crée de nouvelles variables et leur donne des valeurs.
• En python, une variable n'a pas besoin d'être déclarée avec un type spécifique avant son utilisation. Son type
sera décidé par la valeur qui lui est assignée.
Valeurs et types
Une valeur est l'une des choses de base avec lesquelles un programme travaille, comme une lettre ou un nombre.
>>> print(4)
4
>>> message = 'And now for something completely different'
>>> n = 17
>>> pi = 3,1415926535897931
• Pour afficher la valeur d'une variable, vous pouvez utiliser une instruction print :
>>> print(n)
17
> print(pi)
3,141592653589793
• Le type d'une variable est le type de la valeur à laquelle elle fait référence dans l'exemple ci-dessus
>>> type(message)
<classe 'str'> #type fait référence à une chaîne
>>> type(n)
<classe 'int'> #type fait référence à un entier
>>> type(pi)
<classe 'float'> #type fait référence à float
Les noms de variables ne peuvent pas contenir d'espaces ni d'autres caractères spéciaux.
Keywords
Les mots-clés sont une liste de mots réservés qui ont une signification prédéfinie. Les mots-clés sont spéciaux
vocabulaire et ne peuvent pas être utilisés par les programmeurs comme identifiants pour les variables, fonctions, constantes
ou avec n'importe quel nom d'identifiant. Essayer d'utiliser un mot-clé comme nom d'identifiant provoquera une
Déclarations et Expressions
Déclaration
• Une instruction est une unité de code que l'interpréteur Python peut exécuter.
• Nous avons vu deux types d'énoncés :
— Nous assignons une valeur à une variable en utilisant l'instruction d'affectation.
(=). Un mission déclaration consiste de un expression sur le
côté droit et une variable pour stocker le résultat. En python, il y a une fonctionnalité spéciale pour
assignations multiples, où plus d'une variable peut être initialisée en une seule
statement.
Ex: str=”google”
x = 20 + y
a, b, c = 2,“B”, 3.5
print est une fonction qui prend une chaîne ou une variable comme argument pour l'afficher
sur l'écran.
Voici des exemples d'énoncés–
>>> x=5 #déclaration d'affectation
sep : Python insérera un espace entre chacun des arguments de la fonction print. Il y a un
argument facultatif appelé sep, abréviation de séparateur, que vous pouvez utiliser pour remplacer cet espace par
autre chose. Par exemple, en utilisant sep=':' cela séparerait les arguments par un deux-points et sep='##'
séparerait les arguments par deux signes d'interrogation.
>>> print("a","b","c","d",sep=";")
a;b;c;d
fin : La fonction d'impression avancera automatiquement à la ligne suivante. Par exemple, le suivant
sera imprimé sur deux lignes :
code sortie
imprimer("A") A
imprimer("B") B
print("C",end=" ") CE
print("E")
Expressions
Une expression est une combinaison de valeurs, de variables et d'opérateurs. Une valeur à elle seule est
considéré comme une expression, et donc une variable, les éléments suivants sont toutes des expressions légales. Si vous
• Les opérateurs sont des symboles spéciaux qui représentent des calculs comme l'addition et la multiplication.
Les valeurs auxquelles l'opérateur est appliqué sont appelées opérandes.
• Par exemple,
déclarations Composé
déclaration
x=x+y x+=y
y=y//2 y//=2
• LogicalOperators: The logical operatorsand, or, notare used for comparing or negating the
valeurs logiques de leurs opérandes et de renvoyer la valeur logique résultante. Les valeurs de la
Les opérandes sur lesquels opèrent les opérateurs logiques évaluent soit à Vrai, soit à Faux. Le résultat de
—L'exponentiation a la 2ème priorité. Mais, elle est associative à droite. C'est-à-dire que si il y a sont deux
Les opérations d'exponentiation de manière continue, elles seront évaluées de droite à gauche (contrairement à la plupart
La multiplication et la division sont la prochaine priorité. Parmi ces deux opérations, laquelle
vient en premier dans l'expression est évaluée.
—L'addition et la soustraction ont la moindre priorité. Parmi ces deux opérations, celle qui est
apparaît en premier dans l'expression est évaluée c'est-à-dire qu'elles sont évaluées de gauche à droite.
Exemple : x = 1 + 2 ** 3 / 4 * 5
Types de données
Les types de données spécifient le type de données comme les nombres et les caractères à stocker et à manipuler.
dans un programme.
Les types de données de base de Python sont
• Nombres
• Booléen
• Chaines
• liste
• tuple
• dictionnaire
• Aucun
• Nombres
Les entiers, les nombres à virgule flottante et les nombres complexes relèvent de la catégorie des nombres Python.
Ils sont définis comme des classes int, float et complex en Python. Les entiers peuvent avoir n'importe quelle longueur ; c'est
uniquement limité par la mémoire disponible. Un nombre à virgule flottante est précis jusqu'à 15 décimales
endroits. Les entiers et les nombres flottants sont séparés par des points décimaux. 1 est un entier, 1,0 est
nombre à virgule flottante. Les nombres complexes sont écrits sous la forme, x + yj, où x est la partie réelle.
instructions conditionnelles. La valeur booléenne est soit Vrai soit Faux. Les valeurs booléennes, Vrai et
Les faux sont considérés comme des mots réservés.
• Chansons
Une chaîne se compose d'une séquence d'un ou plusieurs caractères, qui peuvent inclure des lettres, des chiffres,
et d'autres types de caractères. Une chaîne peut également contenir des espaces. Vous pouvez utiliser des guillemets simples ou
"double quotes" pour représenter des chaînes et cela s'appelle également un littéral de chaîne. Les chaînes multilignes peuvent être
indiqués en utilisant des triples guillemets, ''' ou " " ". Ce sont des valeurs fixes, pas des variables que vous littéralement
chaîne'''
• Liste
Une liste est formée (ou créée) en plaçant tous les éléments à l'intérieur de crochets carrés [ ]
séparés par des virgules. Cela peut avoir n'importe quel nombre d'éléments et ils peuvent ou non être différents
• Tuple
Un tuple est défini comme une collection ordonnée d'objets Python. La seule différence entre le tuple
et la liste est que les tuples sont immuables, c'est-à-dire que les tuples ne peuvent pas être modifiés après leur création. C'est
représenté par la classe tuple. Nous pouvons représenter des tuples à l'aide de parenthèses ( ).
• Dictionnaire
Un dictionnaire est une collection non ordonnée de valeurs de données, qui est utilisée pour stocker des valeurs de données comme un
carte, qui, contrairement à d'autres types de données qui ne contiennent qu'une seule valeur en tant qu'élément, un
Le dictionnaire se compose d'une paire clé-valeur. La clé-valeur est fournie au sein du dictionnaire pour le former.
plus optimisé. Dans la représentation d'un type de donnée dictionnaire, chaque paire clé-valeur durant un
Le dictionnaire est séparé par un deux-points : tandis que chaque clé est séparée par une 'virgule'.
• Aucun
None est un autre type de donnée spécial en Python. None est fréquemment utilisé pour représenter l'absence
Indentation
• En Python, les programmes sont structurés par indentation (FIGURE ci-dessous)
• Toute déclaration écrite sous une autre déclaration avec la même indentation est interprétée comme
appartiennent au même bloc de code. S'il y a une déclaration suivante avec moins d'indentation à gauche,
alors cela signifie simplement la fin du bloc de code précédent.
• En d'autres termes, si un bloc de code doit être profondément imbriqué, alors les instructions imbriquées doivent être
indenter encore plus à droite. Dans le diagramme ci-dessus, le Bloc 2 et le Bloc 3 sont imbriqués sous
Bloc 1. En général, quatre espaces sont utilisés pour l'indentation et sont préférés aux tabulations.
Une indentation incorrecte entraînera une erreur d'indentation.
Commentaires
• Au fur et à mesure que les programmes deviennent plus grands et plus compliqués, ils deviennent plus difficiles à lire. Formel
Il existe de nombreux langages de programmation, et il est souvent difficile de regarder un morceau de code et de comprendre.
• Pour cette raison, il est judicieux d'ajouter des notes à vos programmes pour expliquer en langage naturel.
ce que fait le programme. Ces notes s'appellent des commentaires, et en Python, elles commencent par
le symbole #
Ex1.#Ceci est un commentaire sur une seule ligne
• Les commentaires sont les plus utiles lorsqu'ils documentent des caractéristiques non évidentes du code. Il est
raisonnable de supposer que le lecteur peut comprendre ce que le code fait ; c'est beaucoup plus
utile d'expliquer pourquoi.
Lecture de l'entrée
Python fournit une fonction intégrée appelée input qui obtient des entrées du clavier. Lorsque cela
la fonction est appelée, le programme attend l'entrée de l'utilisateur. Lorsque l'utilisateur appuie sur la touche Entrée,
Par exemple
>>> inp = input()
Bienvenue dans le monde de Python
>>> imprimer(inp)
Bienvenue dans le monde de Python
• C'est une bonne idée d'avoir un message d'invite informant l'utilisateur de ce qu'il doit entrer comme valeur.
Vous pouvez passer ce message d'invite comme argument à la fonction input.
• Si vous vous attendez à ce que l'utilisateur saisisse un entier, vous pouvez essayer de convertir la valeur de retour en int en utilisant
la fonction int() :
Exemple1 :
Combien de jours y a-t-il dans une semaine ?
>>> jours = input(prompt)
Combien de jours y a-t-il dans une semaine ?
7
>>> type(jours)
<classe 'str'>
Exemple 2 :
>>> x=int(input('entrez un nombre '))
entrez un numéro
12
>>> type(x)
<classe 'int'>
Imprimer la sortie
Opérateur de format
• L'opérateur de format, % nous permet de construire des chaînes de caractères, en remplaçant des parties des chaînes par le
données stockées dans des variables.
• Lorsqu'il est appliqué aux entiers, % est l'opérateur de module. Mais lorsque le premier opérande est une chaîne,
% est l'opérateur de format.
• Par exemple, la séquence de format « %d » signifie que l'opérande doit être formaté comme un
entier (d signifie "décimal") :
Exemple 1 :
>>> chameaux = 42
>>>'%d' % camels
42
• Une séquence de format peut apparaître n'importe où dans la chaîne, vous pouvez donc intégrer une valeur dans un
sentence:
Exemple 2 :
>>> camels = 42
J'ai repéré %d chameaux.
J'ai aperçu 42 chameaux.
• S'il y a plus d'une séquence de format dans la chaîne, le deuxième argument doit être un
tuple. Chaque séquence de format est associée à un élément du tuple, dans l'ordre.
• L'exemple suivant utilise "%d" pour formater un entier, "%g" pour formater un nombre à virgule flottante.
, et "%s" pour formater une chaîne :
Exemple 3 :
Dans %d ans, j'ai repéré %g %s.
En 3 ans, j'ai aperçu 0,1 chameau.
Fonction de format
format(): est l'une des méthodes de formatage de chaînes en Python3, qui permet plusieurs
substitutions et formatage des valeurs. Cette méthode nous permet de concaténer des éléments au sein d'une chaîne.
• Argument clé : Ils sont essentiellement une variable stockant une valeur, qui est passée comme
paramètre.
Pour démontrer l'utilisation des formatteurs avec des arguments de clé positionnels.
Utilisez les numéros d'index Chaque {3} devrait connaître l'utilisation de {2} {1}
des valeurs à changer programmation et {0} .format("programmeur", "Ouvert",
l'ordre que ils "Source", "Operating Systems"))
Tous les systèmes d'exploitation devraient connaître l'utilisation de la source
apparaître dans la chaîne
Programmation ouverte et programmeur
f-strings
Les chaînes formatées ou f-strings ont été introduites dans Python 3.6. Un f-string est un littéral de chaîne qui est
préfixé par "f". Ces chaînes peuvent contenir des champs de remplacement, qui sont des expressions entre accolades.
dans des accolades {}. Les expressions sont remplacées par leurs valeurs.
Exemple :>>>a=10
>>>print(f"la valeur est {a}")
la valeur est 10
DataType Exemple
Ex:1>>> int('32')
32
Ex:2>>> int('Bonjour')
ValueError: littéral invalide pour int() avec base 10 :
int() Bonjour
Ex:3>>>int(3.9999)
3
Ex:4>>> int(-2.3)
-2
Ex1 : >>>float(32)
flottant() 32,0
Ex2 : float('3.124')
3,124
Ex1 : >>>str(32)
str() 32
Ex2 : >>> str(3.124)
13.124
• int peut convertir des valeurs à virgule flottante en entiers, mais il ne fait pas de rond; il coupe la
partie fractionnaire.
• float convertit les entiers et les chaînes de caractères en nombres à virgule flottante.
• str convertit son argument en chaîne.
La fonction type( )
• la fonction type est appelée pour connaître le type de données de la valeur. L'expression entre parenthèses est
appelé l'argument de la fonction. L'argument est une valeur ou une variable que nous passons
dans la fonction en tant qu'entrée de la fonction.
Est Opérateur
• Si nous exécutons ces instructions d'affectation :
a = 'banana'
b = 'banana'
Figure :(a)
• Nous savons que a et b se réfèrent tous deux à une chaîne, mais nous ne savons pas s'ils se réfèrent à la
même chaîne. Il y a deux états possibles, montrer dans la Figure (a).
• Dans un cas, a et b se réfèrent à deux objets différents qui ont la même valeur. Dans le second
dans ce cas, ils font référence au même objet. C'est-à-dire que a est un nom d'alias pour b et vice-versa. Dans d'autres
>>> a = 'banana'
>>> b = 'banane'
>>>a est b
Vrai
• Lorsque deux variables font référence au même objet, elles sont appelées objets identiques.
• Lorsque deux variables font référence à des objets différents, mais contiennent la même valeur, elles sont
connu comme des objets équivalents.
Faux
>>>s1 == s2 #vérifiez que s1 et s2 sont équivalents
Vrai
• Si deux objets sont identiques, ils sont également équivalents, mais s'ils sont équivalents, ils ne le sont pas.
nécessairement identique.
Une instruction conditionnelle donne au développeur la possibilité de vérifier des conditions et de changer le
Syntaxe x=1
ifcondition: si x>0 :
déclaration 1 imprimante("positif")
déclaration 2 numéro
……………..
déclaration n Output:
nombre positif
Une deuxième forme de l'instruction if est l'exécution alternative, dans laquelle il y a deux possibilités et
la condition détermine lequel est exécuté comme indiqué dans le diagramme de flux ci-dessous.
condition_si :
déclarations
sinon :
déclarations
Exemple :
x=6
si x%2 == 0 :
imprimer('x est pair')
sinon :
imprimer('x est
impair') Figure : logique Si-Alors-Sinon
S'il y a plus de deux possibilités et que nous avons besoin de plus de deux branches. Une façon de
exprimer un calcul comme un conditionnel enchaîné. elif est une abréviation de "sinon si." Encore une fois,
exactement une branche sera exécutée comme indiqué dans le diagramme de flux ci-dessous.
Syntaxe Exemple
ifcondition1: x=1
Déclaration y=6
elifcondition2: si x < y :
Déclaration print('x est inférieur à y')
sinon si x > y :
....................
elifcondition_n: print('x est plus grand que y')
sinon:
Déclaration
x et y sont égaux
sinon :
Déclaration Output:
X est inférieur à y
4) Instruction if imbriquée
• Les instructions conditionnelles peuvent être imbriquées. C'est-à-dire qu'un ensemble d'instructions conditionnelles peut être
emboîtés l'un dans l'autre.
• Considérons un exemple, la déclaration conditionnelle externe contient deux branches.
Exemple Output:
x=3 x est inférieur à y
y=4
si x == y :
x et y sont égaux
sinon :
si x < y :
x est inférieur à y
sinon :
imprimer('x est supérieur à y')
• Les conditionnels imbriqués rendent le code difficile à lire, même s'il y a des éléments appropriés.
indentations. Ainsi, il est conseillé d'utiliser des opérateurs logiques comme et pour simplifier le imbriqué
conditionnels.
• Si Python détecte qu'il n'y a rien à gagner en évaluant le reste d'une expression logique
l'expression, elle arrête son évaluation et ne fait pas les calculs dans le reste de la logique
expression. Lorsque l'évaluation d'une expression logique s'arrête parce que la valeur globale est
déjà connu, on l'appelle le court-circuitage de l'évaluation.
• Cependant, si la première partie de l'expression logique donne True, alors la deuxième partie doit être
évalué pour connaître le résultat global. Le court-circuitage non seulement économise le calcul
temps, mais cela mène également à une technique connue sous le nom de motif de gardien.
• Le troisième calcul a échoué car Python évaluait (x/y) et y était zéro, ce qui
provoque une erreur d'exécution.
Nous pouvons construire l'expression logique pour placer stratégiquement aguardevaluation juste avant
l'évaluation qui pourrait causer une erreur comme suit :
Considérez un exemple,
Exemple 1 :
>>> x = 1
>>> y = 0
>>> x >= 2 et y != 0 et (x/y) > 2
Faux
Exemple 2
>>> x = 6
>>> y = 0
>>> x >= 2 et y != 0 et (x/y) > 2
Faux
Exemple 3
>>> x >= 2 et (x/y) > 2 et y != 0
Traceback (dernière appel le plus récent) :
Fichier "<stdin>", ligne 1, dans <module>
ZeroDivisionError : division par zéro
• Dans la première expression logique, x >= 2 est faux, donc l'évaluation s'arrête à la première condition elle-même.
• Dans la deuxième expression logique, x >= 2 est vrai mais y != 0 est faux, donc cela n'atteint jamais
condition (x/y).
• Dans la troisième expression logique, le y!= 0 est placé après la condition (x/y)>2 donc le
l'expression échoue avec une erreur.
• Dans la deuxième expression, nous disons que y != 0 agit comme un garde-fou pour s'assurer que nous n'exécutons que
L'itération répète l'exécution d'une séquence de code. L'itération est utile pour résoudre de nombreux
problèmes de programmation. L'itération et l'exécution conditionnelle forment la base de l'algorithme
construction.
L'instruction while
• Parfois, cependant, nous devons répéter quelque chose, mais nous ne savons pas à l'avance exactement
combien de fois cela doit-il être répété c'est-à-dire boucle indéfinie. C'est une situation lorsque 'boucle while'
est utilisé.
Dans l'exemple ci-dessus, la variable i est initialisée à 1. Ensuite, la condition i <= 5 est vérifiée. Si
la condition est vraie, le bloc de code contenant l'instruction d'impression print(i) et l'incrément
l'instruction (n=n+1) est exécutée. Après ces deux lignes, la condition est vérifiée à nouveau. Le
la procédure continue jusqu'à ce que la condition devienne fausse, c'est-à-dire lorsque n devient 6. Maintenant, le while-
loop is terminated and next statement after the loop will be executed. Thus, in this example,
Notez également que, la variable est initialisée avant de commencer la boucle et qu'elle est incrémentée à l'intérieur.
la boucle. Une telle variable qui change de valeur à chaque itération et contrôle le total
L'exécution de la boucle est appelée variable d'itération ou variable compteur. Si la variable compteur est
pas mis à jour correctement dans la boucle, alors la boucle peut entrer dans une boucle infinie.
• Les boucles infinies sont des instructions de boucle qui itèrent un nombre infini de fois où le
la condition reste toujours vraie.
• Considérons un exemple :
n = 10
while True:
print(n, end='')
n = n - 1
Imprimé !
• Ici, la condition est toujours vraie, ce qui ne mettra jamais fin à la boucle. Parfois, le
la condition est donnée de telle sorte qu'elle ne deviendra jamais fausse et donc en restreignant le
le contrôle du programme pour sortir de la boucle. Cette situation peut se produire soit à cause d'une erreur
• Voici un programme qui permet à l'utilisateur d'entrer jusqu'à 10 nombres. L'utilisateur peut s'arrêter plus tôt.
en entrant un nombre négatif.
tant que vrai : Output:
Entrez un nombre : 23
num = eval(input('Entrez un nombre : '))
23
si num<0 : Entrez un nombre : 34
34
pause Entrez un numéro : 56
imprimer(num) 56
Entrez un nombre : -12
• Dans l'exemple ci-dessus, observez que la condition est maintenue à l'intérieur de la boucle de telle sorte que, si le
si l'entrée de l'utilisateur est un nombre négatif, la boucle se termine. Cela indique que la boucle peut
terminer avec une seule itération (si l'utilisateur donne un nombre négatif pour la toute première fois) ou il
peut prendre des milliers d'itérations (si l'utilisateur continue de donner uniquement des nombres positifs en entrée).
Par conséquent, le nombre d'itérations ici est imprévisible. Mais nous nous assurons qu'il ne le sera pas.
être une boucle infinie, au lieu de cela, l'utilisateur a le contrôle sur la boucle.
• Another example for usage of while withbreakstatement: program to take the input from the
utilisateur et l'écho jusqu'à ce qu'ils tapent terminé :
• l'instruction continue passe à l'itération suivante sans terminer le corps de la boucle pour
la itération actuelle.
• Voici un exemple d'une boucle qui copie son entrée jusqu'à ce que l'utilisateur tape "terminé" mais traite les lignes
commencent par le caractère dièse comme des lignes à ne pas imprimer (un peu comme des commentaires en Python).
Toutes les lignes sont imprimées sauf celle qui commence par le signe dièse parce que lorsque le
l'instruction continue est exécutée, elle met fin à l'itération en cours et revient à l'instruction while pour
commencez la prochaine itération, en sautant ainsi l'instruction d'impression.
• Parfois, nous voulons parcourir un ensemble de choses comme une liste de mots, les lignes dans un fichier.
ou une liste de nombres. Lorsque nous avons une liste de choses à parcourir, nous pouvons construire un
boucle définie à l'aide d'une déclaration for.
• La boucle for parcourt un ensemble connu d'éléments, elle s'exécute donc autant de fois que
il y a des éléments dans l'ensemble.
• Exemple :
friends = ['Roopa', 'Smaya', 'Vikas’] Sortie :
pour nom dans amis : Bonne année : Roopa
print('Bonne Année:', nom) Bonne année : Smaya
Bonne année : Vikas
Imprimé !
Fait !
Dans l'exemple, la variable amis est une liste de trois chaînes et la boucle for parcourt
la liste et exécute le corps une fois pour chacun des trois chaînes de la liste.
—name est la variable d'itération pour la boucle for. Le nom de la variable change à chaque itération.
de la boucle et contrôle quand la boucle for se termine. La variable d'itération étapes
successivement à travers les trois chaînes stockées dans la variable amis.
• La boucle for peut être utilisée pour imprimer (ou extraire) tous les caractères d'une chaîne comme montré ci-dessous :
pour i dans "Bonjour": Output:
print(i, end=" ") Bonjour
Le début et la fin indiquent les valeurs de départ et de fin dans la séquence, où la fin est
exclu dans la séquence (C'est-à-dire que la séquence va jusqu'à end-1). La valeur par défaut de start est 0.
Fonctions
• Une séquence d'instructions destinée à accomplir une tâche indépendante spécifique est connue sous le nom de
function.
• Vous pouvez transmettre des données à traiter, en tant que paramètres à la fonction. Certaines fonctions peuvent
• En Python, toutes les fonctions sont considérées comme des objets, ce qui les rend plus flexibles par rapport aux autres langages de haut niveau.
langages de niveau.
• Dans cette section, nous discuterons des différents types de fonctions intégrées et de fonctions définies par l'utilisateur.
Types de fonction
• Fonctions intégrées
• Fonctions définies par l'utilisateur
Fonctions intégrées
• Python fournit un certain nombre de fonctions intégrées importantes que nous pouvons utiliser sans avoir besoin.
fournir la définition de la fonction.
• Les fonctions intégrées sont des fonctions prêtes à l'emploi.
• La forme générale des fonctions intégrées : nom_fonction(arguments)
Un argument est une expression qui apparaît entre les parenthèses d'un appel de fonction et
chaque argument est séparé par une virgule.
• Python a un module mathématique qui fournit la plupart des fonctions mathématiques fréquemment utilisées.
fonctions. Avant d'utiliser ces fonctions, nous devons importer le module comme ci-dessous :
>>> print(math)
<module 'math' (intégré)>
Exemples Commentaires
>>> importer math Trouve la racine carrée de
>>> [Link](3) nombre
1.7320508075688772
>>> [Link](30) Trouve le sinus de 30
-0,9880316240928618
>>> [Link](30) Trouve le cos de 30
0,15425144988758405
>>> print([Link]) imprimer la valeur de pi
3.141592653589793
>>> [Link](2) trouve la racine carrée de 2
1.4142135623730951
>>> [Link](2) trouve le logarithme en base e
0.6931471805599453
Nombres aléatoires
• La plupart des programmes que nous écrivons prennent des valeurs d'entrée prédéfinies et produisent des résultats attendus.
valeurs de sortie. Ces programmes sont dits déterministes. Le déterminisme est généralement une bonne chose.
chose, puisque nous nous attendons à ce que le même calcul produise le même résultat.
• But it is not case always, for some applications, we want the computer to be unpredictable.
Les jeux sont un exemple évident, mais il existe de nombreuses applications.
• Rendre un programme véritablement non déterministe s'avère être assez difficile, mais il existe des moyens de
faîtes en sorte que cela semble au moins non déterministe. L'un d'eux est d'utiliser des algorithmes qui génèrent
nombres pseudorandomiques.
• La fonction random renvoie un nombre flottant aléatoire compris entre 0,0 et 1,0 et pour un entier entre (1
et 100 etc)
• Python a un module appelé random, dans lequel se trouvent des fonctions liées aux nombres aléatoires.
disponible.
• Pour générer des nombres aléatoires. Considérez un exemple de programme utilisant la fonction userandom() qui
génère un nombre aléatoire entre 0.0 et 1.0, mais sans inclure 1.0. Dans le programme ci-dessous,
il génère 5 nombres aléatoires
• La fonction randint() prend les paramètres bas et haut, et renvoie un entier compris entre
bas et haut (y compris les deux).
>>> importer aléatoire
>>> [Link](5,10)
10
>>> [Link](5,10)
6
>>> [Link](5,10)
7
• Pour choisir un élément d'une séquence au hasard, vous pouvez utiliser choice() :
>>> t = [1, 2, 3]
>>> [Link](t)
2
>>> [Link](t)
3
deffname(liste_arg): Ici,
statement_1 Définir : est un mot-clé indiquant qu'il s'agit d'une définition de fonction.
• La première ligne de la fonction def fname(arg_list) est connue sous le nom d'en-tête de fonction/définition. Le
les lignes restantes constituent le corps de la fonction.
• L'en-tête de la fonction se termine par un deux-points et le corps de la fonction doit être indenté.
• Pour sortir de la fonction, l'indentation doit être terminée.
• Contrairement à quelques autres langages de programmation comme C, C++, etc., il n'y a pas de fonction main() ou
lieu spécifique où une fonction définie par l'utilisateur doit être appelée.
Function calls
• Une fonction est une séquence nommée d'instructions pour effectuer une tâche.
• Lorsque nous définissons une fonction, nous lui donnerons un nom valide, puis spécifierons les instructions.
pour effectuer la tâche requise. Ensuite, chaque fois que nous voulons effectuer cette tâche, une fonction est appelée par
son nom.
Considérez un exemple,
>>> type(33)
<classe 'int'>
• Ici, la fonction type est appelée pour connaître le type de données de la valeur. L'expression dans
les parenthèses s'appellent l'argument de la fonction. L'argument est une valeur ou une variable qui
nous passons en paramètre à la fonction en entrée de la fonction.
• Il est courant de dire qu'une fonction "prend" un argument et "retourne" un résultat. Le résultat est
appelé la valeur de retour.
L'instruction de retour et la fonction vide
• Une fonction qui effectue une tâche, mais ne renvoie aucune valeur à la fonction appelante est
appelée fonction vide. Les exemples de fonctions définies par l'utilisateur considérés jusqu'à présent sont vides
fonctions.
• La fonction qui renvoie un résultat à la fonction appelante après avoir effectué une tâche est
connu sous le nom de fonction fructueuse. Les fonctions intégrées telles que les fonctions mathématiques, aléatoires
Les fonctions génératrices de nombres, etc., qui ont été considérées plus tôt sont des exemples de résultats fructueux.
functions.
• On peut écrire une fonction définie par l'utilisateur afin de renvoyer une valeur à la fonction appelante comme
shown in the following example.
Dans l'exemple ci-dessus, la fonction addition() prend deux arguments et renvoie leur somme.
la variable réceptrice x.
—Lorsqu'une fonction retourne quelque chose et si cela n'est pas reçu à l'aide d'une variable, le
la valeur de retour ne sera pas disponible plus tard.
• Lorsque nous utilisons des fonctions intégrées qui produisent des résultats, ce sont des fonctions fructueuses.
>>>[Link](2)
1.7320508075688772
• La fonction vide pourrait afficher quelque chose à l'écran ou avoir un autre effet.
effectuer une action mais elle n'a pas de valeur de retour.
Considérez un exemple
>>> résultat=print('python')
python
>>> print(résultat)
Aucun
>>> print(type(None))
<classe 'NoneType'>
• Cela signifie que les variables locales ne peuvent être accessibles que dans la fonction dans laquelle elles se trouvent.
déclarées, tandis que les variables globales peuvent être accessibles dans tout le corps du programme par tous
Fonctions. Lorsque vous appelez une fonction, les variables déclarées à l'intérieur sont mises en portée.
Default Parameters
• Pour certaines fonctions, vous voudrez peut-être rendre certains paramètres optionnels et utiliser des valeurs par défaut.
au cas où l'utilisateur ne souhaite pas fournir de valeurs pour eux. Cela se fait avec l'aide de
valeurs par défaut des arguments.
• Des valeurs par défaut pour les paramètres peuvent être spécifiées en ajoutant au paramètre
nom dans la définition de la fonction l'opérateur d'affectation ( = ) suivi de la valeur par défaut.
• Notez que la valeur par défaut de l'argument doit être une constante.
• Seuls les paramètres qui se trouvent à la fin de la liste des paramètres peuvent avoir des valeurs par défaut.
valeurs d'argument c'est-à-dire que vous ne pouvez pas avoir un paramètre avec une valeur d'argument par défaut précédant un
paramètre sans valeur d'argument par défaut dans la liste des paramètres de la fonction. C'est parce que
Comment ça fonctionne
La fonction nommée say est utilisée pour imprimer une chaîne autant de fois que spécifié. Si nous ne fournissons pas un
valeur, alors par défaut, la chaîne est imprimée une seule fois. Nous y parvenons en spécifiant un défaut
valeur de l'argument de 1 au paramètre times. Dans la première utilisation de say, nous fournissons uniquement la chaîne
et il imprime la chaîne une fois. Dans la deuxième utilisation de say, nous fournissons à la fois la chaîne et un
argument 5 affirmant que nous voulons dire le message sous forme de chaîne 5 fois.
Arguments de mot-clé
• Si vous avez des fonctions avec de nombreux paramètres et que vous souhaitez en spécifier seulement certains
alors vous pouvez attribuer des valeurs à de tels paramètres en les nommant - cela s'appelle
arguments de mots-clés - nous utilisons le nom (mot-clé) au lieu de la position pour spécifier le
arguments à la fonction.
• Il y a deux avantages
—une, utiliser la fonction est plus facile puisque nous n'avons pas à nous soucier de l'ordre des arguments.
—Deux, nous pouvons attribuer des valeurs uniquement à ces paramètres auxquels nous le souhaitons, à condition que les autres
fonction(3, 7)
func(25,c=24)
func(c=50, a=100)
Output:
a est 3 et b est 7 et c est 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50
Comment ça marche
La fonction nommée func a un paramètre sans valeur par défaut, suivi de deux
paramètres avec des valeurs par défaut. Dans la première utilisation, func(3, 7), le paramètre a obtient le
valeur 3, le paramètre b reçoit la valeur 7 et c obtient la valeur par défaut de 10. Dans le deuxième
l'usage func(25, c=24), la variable a obtient la valeur de 25 en raison de la position de l'argument.
Alors, le paramètre c obtient la valeur de 24 en raison de la nomination, c'est-à-dire des arguments de mot-clé. La variable b
obtient la valeur par défaut de 5. Dans le troisième usage func(c=50, a=100), nous utilisons des arguments nommés pour
toutes les valeurs spécifiées. Remarquez que nous spécifions la valeur pour le paramètre c avant celle pour a même
bien que a soit défini avant c dans la définition de la fonction.
• Parfois, vous pourriez vouloir définir une fonction qui peut prendre un nombre quelconque de paramètres, c'est-à-dire
un nombre variable d'arguments, cela peut être réalisé en utilisant les étoiles.
• *args et **kwargs sont principalement utilisés comme paramètres dans les définitions de fonctions. *args et
**kwargs vous permet de passer un nombre variable d'arguments à la fonction appelante. Ici
un nombre variable d'arguments signifie que l'utilisateur ne sait pas à l'avance combien
de nombreux arguments seront passés à la fonction appelée.
• *args en tant que paramètre dans la définition d'une fonction vous permet de passer un argument variable sans mot-clé.
• **kwargs en tant que paramètre dans la définition de fonction vous permet de passer des arguments nommés de longueur variable
la liste d'arguments du dictionnaire à la fonction appelée. *args doit venir après tous les arguments positionnels
Remarque : les blocs d'instructions de la définition de fonction *et** ne sont pas utilisés avec args et kwargs.
• Le module Thesys fournit une variable globale nommée argv qui est une liste de texte supplémentaire que l'utilisateur
peut fournir lors du lancement d'une application à partir de l'invite de commande dans Windows et du terminal dans
OS X et Linux.
• Certains programmes s'attendent à ce que l'utilisateur fournisse des informations supplémentaires ou le lui permettent.
• Exemple : considérons que l'utilisateur fournit une plage d'entiers sur la ligne de commande. Le
le programme imprime ensuite tous les entiers dans cette plage ainsi que leurs racines carrées.
[Link]
fromsysimportargv
de math import sqrt
si len(argv) < 3 :
imprimer('Fournir une plage de valeurs')
sinon :
pour n dans la plage(int(argv[1]), int(argv[2]) + 1):
imprimer(n, racine(n))
Output:
C:\Code>[Link] 2 5
2 1,4142135623730951
3 1.7320508075688772
4 2.0
5 2,23606797749979
Banque de questions
Q.
Questions
Non.
7
i) Variables et déclarations
ii)Expressions
iii) String and Modules operator
8 Expliquez avec un exemple comment lire une entrée de l'utilisateur en Python.
22 Créez un programme python pour une application de calculatrice utilisant des fonctions