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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Boris Feld
November 28, 2011
Programming
2
200
Pourquoi Python ?
Keynote d'ouverture de l'évènement "Vous reprendrez bien un peu de Python" à la Cantine.
Boris Feld
November 28, 2011
Tweet
Share
More Decks by Boris Feld
See All by Boris Feld
BALTO, ONE TEST OUTPUT FORMAT TO UNITE THEM ALL
lothiraldan
0
65
Une révolution dans le monde des tests
lothiraldan
0
290
Mercurial changeset Evolution
lothiraldan
0
210
Python Unicode and Bytes Demystified
lothiraldan
0
280
Django 101
lothiraldan
0
270
Saltpad: A saltstack Web GUI
lothiraldan
5
28k
Mock considered harmful
lothiraldan
1
740
from Sync to Async Python, a AsyncIO migration
lothiraldan
2
770
Microservices késako
lothiraldan
0
160
Other Decks in Programming
See All in Programming
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.7k
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
Windows on Ryzen and I
seosoft
0
230
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
110
CSC307 Lecture 13
javiergs
PRO
0
310
15年目のiOSアプリを1から作り直す技術
teakun
1
620
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
230
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
530
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
460
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
690
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.3k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
230
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Accessibility Awareness
sabderemane
0
74
How STYLIGHT went responsive
nonsquared
100
6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
So, you think you're a good person
axbom
PRO
2
1.9k
RailsConf 2023
tenderlove
30
1.4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
460
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
150
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