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
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
52
Une révolution dans le monde des tests
lothiraldan
0
250
Mercurial changeset Evolution
lothiraldan
0
180
Python Unicode and Bytes Demystified
lothiraldan
0
230
Django 101
lothiraldan
0
250
Saltpad: A saltstack Web GUI
lothiraldan
5
27k
Mock considered harmful
lothiraldan
1
710
from Sync to Async Python, a AsyncIO migration
lothiraldan
2
740
Microservices késako
lothiraldan
0
130
Other Decks in Programming
See All in Programming
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
170
Discover Metal 4
rei315
2
130
A2A プロトコルを試してみる
azukiazusa1
2
1.4k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.1k
Hack Claude Code with Claude Code
choplin
4
2k
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
590
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
9
5k
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
120
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
390
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.2k
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Statistics for Hackers
jakevdp
799
220k
A designer walks into a library…
pauljervisheath
207
24k
Gamification - CAS2011
davidbonilla
81
5.4k
Making Projects Easy
brettharned
116
6.3k
Facilitating Awesome Meetings
lara
54
6.4k
Music & Morning Musume
bryan
46
6.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How to Ace a Technical Interview
jacobian
278
23k
Practical Orchestrator
shlominoach
189
11k
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