Comment utiliser le compilateur Python en ligne
- Écrivez ou collez votre code dans l'éditeur. La page démarre avec un court exemple ; Réinitialiser l'exemple le rétablit à tout moment.
- Si votre programme appelle
input(), saisissez les réponses dans la zone Entrée (stdin) sous la sortie, une ligne par appel àinput(). - Appuyez sur Exécuter ou utilisez Ctrl + Entrée (⌘ + Entrée sur Mac).
- Lisez le résultat dans le panneau Sortie. Tout ce qui est écrit sur
stderr, y compris les tracebacks, est mis en évidence comme une erreur. - Choisissez une limite de temps de 5, 15 ou 60 secondes. Si un script dure plus longtemps (un
while True:accidentel, par exemple), il est arrêté automatiquement. Vous pouvez aussi appuyer sur Arrêter à tout moment.
La première exécution télécharge l'environnement d'exécution Python, environ 10 Mo. Votre navigateur le met en cache, et les exécutions suivantes démarrent donc beaucoup plus vite. Utilisez Copier ou main.py pour enregistrer votre script.
Votre code ne quitte jamais votre appareil. Python s'exécute dans votre navigateur, dans un Web Worker : rien n'est envoyé ni stocké sur nos serveurs. L'éditeur mémorise votre dernier code dans le stockage local de votre navigateur, et nulle part ailleurs.
Ce qui est pris en charge
Le compilateur utilise Python 3.12 via Pyodide 0.26, l'interpréteur CPython compilé en WebAssembly. C'est du vrai CPython, pas une imitation de Python : le langage se comporte exactement comme sur votre ordinateur.
- La bibliothèque standard :
math,collections,itertools,datetime,json,re,dataclasses,statisticset d'autres. - Chargement automatique des paquets : quand votre code importe un paquet fourni par Pyodide, comme NumPy ou pandas, il est téléchargé à la volée. De nombreux paquets en pur Python et scientifiques sont disponibles.
- Entrée standard via
input()etsys.stdin, alimentée par la zone stdin. async/await: le code s'exécute avecrunPythonAsync, donc unawaitau niveau supérieur fonctionne.
Limites à garder en tête :
- Pas de sockets réseau. Des modules comme
socket,urllib.requestetrequestsne peuvent pas ouvrir de connexions depuis cette page. - Pas de fichiers persistants. Vous pouvez créer et lire des fichiers avec
open(), mais ils restent en mémoire et sont perdus quand vous rechargez la page ou appuyez sur Arrêter. - Les graphiques ne s'affichent pas. matplotlib peut être importé, mais aucune figure n'est affichée : affichez plutôt des nombres ou des tableaux.
- Les paquets contenant du code natif que Pyodide ne fournit pas ne peuvent pas être installés.
Aide-mémoire Python
from dataclasses import dataclass
@dataclass
class Item:
name: str
price: float
cart = [Item("pen", 1.5), Item("book", 12.0)]
total = sum(i.price for i in cart)
print(f"{len(cart)} items, total {total:.2f}")
if total > 10 and cart:
print("Free shipping!")
| Tâche | Syntaxe |
|---|---|
| Afficher du texte formaté | print(f"{x:.2f}") |
| Lire une ligne d'entrée | name = input("Name? ") |
| Convertir l'entrée en nombre | n = int(input()) |
| Compréhension de liste | [x * 2 for x in data if x > 0] |
| Boucle sur un dictionnaire | for k, v in d.items(): |
| Gérer une erreur | try: ... except ValueError as e: ... |
Conseils
- Si votre programme demande des entrées plus souvent que la zone stdin ne contient de lignes, Python lève une
EOFError. Ajoutez une ligne pour chaque appel àinput(). - L'import de gros paquets comme pandas prend quelques secondes la première fois. Le téléchargement compte dans la limite de temps : choisissez 60 s pour les scripts lourds.
- Chaque exécution repart avec des variables vierges, mais les modules déjà importés restent chargés, si bien que les exécutions suivantes sont rapides.
- Vous travaillez avec une sortie JSON ? Collez-la dans le formateur JSON pour la mettre en forme et la valider.
Questions fréquentes
Est-ce un vrai interpréteur Python ?
Oui. Pyodide est CPython 3.12 compilé en WebAssembly. La syntaxe, les fonctions intégrées et la bibliothèque standard sont les mêmes que dans le Python installé sur un ordinateur. Les principales différences viennent de l'exécution dans un navigateur : pas d'accès réseau et pas de système de fichiers permanent.
Puis-je utiliser NumPy et pandas ?
Oui. Importez-les comme d'habitude : ils sont téléchargés la première fois que vous exécutez le code. De nombreux autres paquets scientifiques et en pur Python fournis par Pyodide se chargent de la même façon.
Comment fournir des données d'entrée à mon programme ?
Saisissez les valeurs dans la zone stdin, une ligne pour chaque appel à input(), dans l'ordre où votre programme les demande. Appuyez ensuite sur Exécuter.
Pourquoi mon script s'arrête-t-il après 15 secondes ?
La limite de temps par défaut vous protège des boucles infinies qui figeraient l'onglet. Choisissez 60 s dans le menu de limite de temps pour des calculs plus longs.
Puis-je exécuter d'autres langages ?
Oui. Essayez le compilateur JavaScript en ligne ou parcourez tous les outils pour développeurs gratuits.
Mis à jour