Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pourquoi Python ?
Search
Boris Feld
November 28, 2011
Programming
220
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pourquoi Python ?
Keynote d'ouverture de l'évènement "Vous reprendrez bien un peu de Python" à la Cantine.
Boris Feld
November 28, 2011
More Decks by Boris Feld
See All by Boris Feld
BALTO, ONE TEST OUTPUT FORMAT TO UNITE THEM ALL
lothiraldan
0
75
Une révolution dans le monde des tests
lothiraldan
0
320
Mercurial changeset Evolution
lothiraldan
0
220
Python Unicode and Bytes Demystified
lothiraldan
0
300
Django 101
lothiraldan
0
280
Saltpad: A saltstack Web GUI
lothiraldan
5
28k
Mock considered harmful
lothiraldan
1
760
from Sync to Async Python, a AsyncIO migration
lothiraldan
2
780
Microservices késako
lothiraldan
0
170
Other Decks in Programming
See All in Programming
Android CLI
fornewid
0
210
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
450
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.5k
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
440
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
今さら聞けない .NET CLI
htkym
0
180
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
640
What's New in Android 2026
veronikapj
0
250
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
Google Apps Script で Ruby を動かす
kawahara
0
130
Featured
See All Featured
Speed Design
sergeychernyshev
33
2k
Faster Mobile Websites
deanohume
310
32k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
We Are The Robots
honzajavorek
0
290
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
Transcript
Pourquoi Python ? FELD Boris - 28 novembre 2011 La
Cantine
Qui suis-je ? Étudiant en école d’ingénieur (UTBM) En stage
Assurance-Qualité chez Dailymotion Développe en Python depuis 2 ans Twitter: @lothiraldan
Python késako ? Créé en 1990 par Guido Von Rossum
Nommé en hommage aux Monty Python 8ème langage le plus populaire selon le Tiobe Index 13 versions majeures de nos jours
Caractéristiques Typage fort Typage dynamique Byte-compilé
Python est utilisé Disqus Eve Online Mozilla (addons.mozilla.org) Inkspace De
nombreux outils que vous utilisez tous les jours.
1) La rapidité
Hello World JAVA public class HelloWorld { public static void
main(String[] args) { System.out.println("Goodbye, World!"); } }
Hello World C #include <stdlib.h> #include <stdio.h> int main(void) {
printf("Goodbye, World!\n"); return EXIT_SUCCESS; }
Hello World Python print "Goodbye, World!"
Lancer les exemples JAVA : $> javac HelloWorld.java $> java
HelloWorld C : $> gcc hello_world.c -o hello_world $> ./hello_world Python : $> python hello_world.py
Simple... Langage concis Permet un développement rapide Multi-paradigme
...mais pas simpliste Fonctionnalités avancées: Décorateurs Générateurs Listes compréhensives Descripteurs
Les truc vraiment cool Pas de gestion « à la
main » de la mémoire Des structures de données faciles à utiliser Introspection avancée
2) La syntaxe
Les types de base an_int = 42 a_float = 3.14
a_list = [1, 2, 3] a_dict = {'key1': 'value1', 'key2': 'value3'} a_complex = complex(1, 2) #Ou complex('1+2j')
L’indentation compte /* Warning: confusing C code! */ if (some
condition) if (another condition) do_something(fancy); else this_sucks(badluck); # Warning: awesome python if some condition: if another condition: do_something(fancy) else: this_dont_sucks(goodluck)
Fonctions def fib(n): if n < 2: return n else:
return fib(n-1) + fib(n-2) fib(10)
Classes class Message(object): def __init__(self, message = ‘’): self.message =
message def print_message(self): print self.message m = Message("Message example") m.print_message()
Import import math math.sqrt(9)
Structure de données a_list = [] a_number = 5 a_list.append(a_number)
another_number = a_list[0]
Syntaxe Une syntaxe simple à écrire et à LIRE L’indentation
obligatoire rend le code clair à écrire et surtout à lire Pas de points-virgules ni d’accolades Très proche du pseudo-code
3) La librairie standard
Types de données Structures de données Dates Chaînes et les
chaînes en unicode Les ensembles (au sens mathématique) Nombres complexes
Formats de fichiers La librairie standard permet de lire et
écrire des fichiers dans ces formats: JSON INI CSV XML HTML
Réseau/Internet Socket BSD Serveur HTML/CGI simple Gérer/Parser des requêtes HTTP
SMTP Client/Serveur XML-RPC
Outils Débogueur Profiling Librairie de Test Unitaires
Autre Cryptographie Compression Regex Sérialisation Encore plus ? http:/ /docs.python.org/
library/
4) Intuitif
Python est intuitif En python tout est objet... On encourage
une seule façon de faire... Et cela permet d’acquérir rapidement des réflexes de programmation.
Un langage objet file.readline() file.read(size) " abc ".strip()
Parcours d’une structure de données Liste: for elem in [1,
2, 3] Dictionnaire: for key in {‘key1’: ‘val1’, ‘key2’: ‘val2’} Chaîne: for letter in ‘mystring’
Longueur d’une structure de donnée Liste: len([1, 2, 3]) Dictionnaire:
len({‘key1’: ‘value1’, ‘key2’: ‘value’}) Chaîne: len(‘mystring’)
Vérifier si une valeur est présente Liste: 4 in [1,
2, 3] Dictionnaire: ‘key3’ in {‘key1’: ‘val1’, ‘key2’: ‘val’} Chaîne: ‘x’ in ‘string’
5) Extensibilité
Interpréteurs CPython, l’interpréteur de référence Jython IronPython PYPY compilateur JIT
Extensibilité Problèmes de performances: Écrivez des modules en C Besoin
d’interfacer python: Avec Java, utilisez Jython Avec .NET, utilisez IronPython
Conclusion C’est un véritable plaisir de coder en Python Donnez
lui sa chance Python vous rendra de grands services même en tant que langage de script
Demo time ! Récupérer le dernier tweet