Intro Python
Intro Python
Intro Python
2021 — 2022
Table des matières
2 Structure de données 11
2.1 Python List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Python Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Python Tuple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Python Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1
Chapitre 1
Les bases de Python
1.1 Introduction
Python est un langage de programmation généraliste, dynamique, de haut niveau et interprété.
Il prend en charge l’approche de programmation orientée objet pour développer des applications.
Il est simple et facile à apprendre et fournit de nombreuses structures de données de haut niveau.
Python est un langage de script facile à apprendre mais puissant et polyvalent, ce qui le rend
attrayant pour le développement d’applications.
La syntaxe et le typage dynamique de Python avec sa nature interprétée en font un langage idéal
pour les scripts et le développement rapide d’applications.
Python prend en charge plusieurs modèles de programmation, y compris les styles de program-
mation orientés objet, impératifs et fonctionnels ou procéduraux.
Python n’est pas destiné à fonctionner dans un domaine particulier, tel que la programmation
Web. C’est pourquoi il est connu sous le nom de langage de programmation polyvalent car il
peut être utilisé avec le Web, l’entreprise, la CAO 3D, etc.
Nous n’avons pas besoin d’utiliser des types de données pour déclarer la variable car elle est
typée dynamiquement afin que nous puissions écrire a=10 pour affecter une valeur entière dans
une variable entière.
Python accélère le développement et le débogage car aucune étape de compilation n’est incluse
dans le développement Python et le cycle édition-test-débogage est très rapide.
2
1.1.2 Python First Program
Contrairement aux autres langages de programmation, Python offre la possibilité d’exécuter
le code en utilisant quelques lignes. Par exemple - Supposons que nous voulions imprimer le
programme "Hello World" en Java ; il faudra trois lignes pour l’imprimer.
Hello word
print("Hello word")
Nous n’avons pas besoin de déclarer explicitement la variable en Python. Lorsque nous affectons
une valeur à la variable, cette variable est déclarée automatiquement.
L’opérateur égal (=) est utilisé pour affecter une valeur à une variable.
Variables et affectation
name = "Devansh"
age = 20
marks = 80.50
print(name)
print(age)
print(marks)
Les variables peuvent contenir des valeurs, et chaque valeur a un type de données. Python est
un langage à typage dynamique ; par conséquent, nous n’avons pas besoin de définir le type de
la variable lors de sa déclaration. L’interpréteur lie implicitement la valeur à son type.
Type de données
a=10
b="Hi Python"
c = 10.5
print(type(a))
print(type(b))
print(type(c))
Type de données
num = int(input("enter the number?"))
if num%2 == 0:
print("Number is even")
else :
print("Number is odd")
elif
number = int(input("Enter the number?"))
if number==10:
print("number is equals to 10")
elif number==50:
print("number is equal to 50");
elif number==100:
print("number is equal to 100");
else:
print("number is not equal to 10, 50 or 100");
Operateur logique
marks = int(input("Enter the marks? "))
if marks > 85 and marks <= 100:
print("Congrats ! you scored grade A ...")
elif marks > 60 and marks <= 85:
print("You scored grade B + ...")
elif marks > 40 and marks <= 60:
Python nous permet de diviser un grand programme en blocs de construction de base appe-
lés fonction. La fonction contient l’ensemble d’instructions de programmation entouré de . Une
fonction peut être appelée plusieurs fois pour permettre la réutilisation et la modularité du pro-
gramme Python.
1.5.2 La récursivité
La récursivité est le processus de définition de quelque chose en termes de lui-même.
En Python, nous savons qu’une fonction peut appeler d’autres fonctions. Il est même possible
que la fonction s’appelle elle-même. Ces types de construction sont appelés fonctions récursives.
L’image suivante montre le fonctionnement d’une fonction récursive appelée recurse.
num = 3
print("The factorial of", num, "is", factorial(num))
Le tableau est une idée de stockage de plusieurs éléments du même type ensemble et il est plus
facile de calculer la position de chaque élément en ajoutant simplement un décalage à la valeur
de base.
Le tableau peut être géré en Python par un module nommé array. C’est utile lorsque nous devons
manipuler uniquement des valeurs de données spécifiques. Voici les termes pour comprendre le
concept d’un tableau :
— Élément - Chaque élément stocké dans un tableau est appelé un élément.
Chaque caractère est codé dans le caractère ASCII ou Unicode. On peut donc dire que les chaînes
Python sont aussi appelées collection de caractères Unicode.
String
#Using single quotes
str1 = 'Hello Python'
print(str1)
#Using double quotes
str2 = "Hello Python"
str = "HELLO"
print(str[0])
print(str[1])
print(str[2])
print(str[3])
print(str[4])
# It returns the IndexError because 6th index doesn't exist
print(str[6])
# Given String
str = "JAVATPOINT"
# Start Oth index to end
print(str[0:])
# Starts 1th index to 4th index
print(str[1:5])
# Starts 2nd index to 3rd index
print(str[2:4])
# Starts 0th to 2nd index
print(str[:3])
#Starts 4th to 6th index
print(str[4:7])
str = "Hello"
str1 = " world"
print(str*3) # prints HelloHelloHello
print(str+str1)# prints Hello world
print(str[4]) # prints o
print(str[2:4]); # prints ll
print('w' in str) # prints false as w is not present in str
print('wo' not in str1) # prints false as wo is present in str1.
print(r'C://python37') # prints C://python37 as it is written
print("The string str : %s"%(str)) # prints The string str : Hello
Python prend implicitement en charge les structures de données qui vous permettent de stocker
et d’accéder aux données. Ces structures sont appelées List, Dictionary, Tuple et Set.
my_list = [1, 2, 3]
print(my_list)
my_list.append([555, 12]) #add as a single element
11
print(my_list)
my_list.extend([234, 'more_example']) #add as different elements
print(my_list)
my_list.insert(1, 'insert_example') #add element i
print(my_list)
my_set = {1, 2, 3}
my_set.add(4) #add element to set
print(my_set)
my_set = {1, 2, 3, 4}
my_set_2 = {3, 4, 5, 6}
print(my_set.union(my_set_2), '----------', my_set | my_set_2)
print(my_set.intersection(my_set_2), '----------', my_set & my_set_2)
print(my_set.difference(my_set_2), '----------', my_set - my_set_2)
print(my_set.symmetric_difference(my_set_2), '----------', my_set ^ my_set_2)
my_set.clear()
print(my_set)
my_tuple = (1, 2, 3)
my_tuple = my_tuple + (4, 5, 6) #add elements
print(my_tuple)
— Fonctions pures : ces fonctions ont deux propriétés principales. Premièrement, ils pro-
duisent toujours la même sortie pour les mêmes arguments indépendamment de toute
autre chose. Deuxièmement, ils n’ont pas d’effets secondaires, c’est-à-dire qu’ils modifient
n’importe quel argument ou variable globale ou produisent quelque chose.
— Récursivité : Il n’y a pas de boucle « for » ou « while » dans les langages fonctionnels.
L’itération dans les langages fonctionnels est implémentée par récursivité.
— Les fonctions sont de première classe et peuvent être d’ordre supérieur : les fonctions de
première classe sont traitées comme des variables de première classe. Les variables de pre-
mière classe peuvent être transmises aux fonctions en tant que paramètre, peuvent être
renvoyées à partir de fonctions ou stockées dans des structures de données.
— Il produit toujours la même sortie pour les mêmes arguments. Par exemple, 3+7 sera
toujours 10 quoi qu’il arrive.
— Il ne change pas ou ne modifie pas la variable d’entrée.
La deuxième propriété est également connue sous le nom d’immutabilité. Le seul résultat de la
fonction pure est la valeur qu’elle renvoie. Ils sont déterministes. Les programmes réalisés à l’aide
de la programmation fonctionnelle sont faciles à déboguer car les fonctions pures n’ont pas d’effets
secondaires ni d’E/S cachées. Les fonctions pures facilitent également l’écriture d’applications
parallèles/concurrentes. Lorsque le code est écrit dans ce style, un compilateur intelligent peut
faire beaucoup de choses - il peut paralléliser les instructions, attendre d’évaluer les résultats en
cas de besoin et mémoriser les résultats puisque les résultats ne changent jamais tant que l’entrée
16
ne change pas.
Pure function
def pure_func(List):
New_List = []
for i in List:
New_List.append(i**2)
return New_List
# Driver's code
Original_List = [1, 2, 3, 4]
Modified_List = pure_func(Original_List)
3.3 Récursivité
Au cours de la programmation fonctionnelle, il n’y a pas de concept de boucle for ou de boucle
while, à la place la récursivité est utilisée. La récursivité est un processus dans lequel une fonction
s’appelle directement ou indirectement. Dans le programme récursif, la solution du cas de base
est fournie et la solution du plus gros problème est exprimée en termes de petits problèmes. Une
question peut se poser quel est le cas de base ? Le cas de base peut être considéré comme une
condition qui indique au compilateur ou à l’interpréteur de quitter la fonction.
Récursivité
def Sum(L, i, n, count):
# Base case
if n <= i:
return count
count += L[i]
return count
# Driver's code
L = [1, 2, 3, 4, 5]
count = 0
n = len(L)
def shout(text):
return text.upper()
def whisper(text):
return text.lower()
def greet(func):
# storing the function in a variable
greeting = func("Hi, I am created by a function passed as an argument.")
print(greeting)
greet(shout)
greet(whisper)
Map() : la fonction map() renvoie une liste des résultats après avoir appliqué la fonction donnée
à chaque élément d’un itérable donné (liste, tuple, etc.)
filter() : La méthode filter() filtre la séquence donnée à l’aide d’une fonction qui teste chaque
élément de la séquence pour être vrai ou non.
filter
# function that filters vowels
def fun(variable):
if (variable in letters):
return True
else:
return False
# sequence
sequence = ['g', 'e', 'e', 'j', 'k', 's', 'p', 'r']
for s in filtered:
print(s)
Fonctions lambda : en Python, fonction anonyme signifie qu’une fonction est sans nom. Comme
L = [1, 3, 2, 4, 5, 6]
is_even = [x for x in L if x % 2 == 0]
print(is_even)
3.5 Immutabilité
L’immuabilité dans un paradigme de programmation fonctionnelle peut être utilisée pour le
débogage car elle générera une erreur lorsque la variable est modifiée et non lorsque la valeur
est modifiée. Python prend également en charge certains types de données immuables tels que
string, tuple, numérique, etc.
Immutabilité
# String data types
immutable = "TestTest"
21