J'ai un problème de codage Python dans le terminal. J'apprends juste les bases donc je n'ai pas besoin de créer de fichiers .py.
Dans le terminal, je peux exécuter une ligne de code dans l'interpréteur Python, mais comment puis-je écrire plusieurs lignes?
Évidemment, si j'appuie sur Entrée, il entre dans la commande et ne descend pas une ligne.
Je veux juste tester ce qui suit dans le terminal:
my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
Réponses:
Ajouter une barre oblique inverse de fin (
\
)L'astuce est - similaire à ce que vous feriez dans
bash
, par exemple - pour ajouter une barre oblique inverse de fin. Par exemple, si je veux imprimer un1
:Si vous écrivez un
\
, Python vous demandera avec...
(lignes de continuation) d'entrer le code dans la ligne suivante, pour ainsi dire.Note latérale: C'est ce qui se produit automatiquement lorsque vous créez une définition de fonction ou de classe, c'est-à-dire les moments où vous avez vraiment besoin d' une nouvelle ligne, donc il n'y a jamais une très bonne utilisation pour cela, ou du moins aucune à ma connaissance. En d'autres termes, Python est suffisamment intelligent pour savoir que vous avez besoin de lignes de continuation lorsque vous entrez une nouvelle définition de fonction ou d'autres constructions similaires (par exemple
if:
). Dans ces cas automatiques, notez que vous devez entrer une ligne vide en\
indiquant à Python que vous avez terminé.Pour tout le reste, vous devez écrire une ligne après l'autre. La façon dont un interprète fonctionne est qu'il interprète bien chaque ligne que vous lui fournissez. Ni plus, ni moins. Il "n'agira" que lorsqu'il verra une nouvelle ligne, disant donc à l'interprète d'exécuter ce que vous lui avez donné. La barre oblique inverse unique empêchera l'interpréteur de recevoir un caractère de nouvelle ligne (c'est-à-dire qu'il ne saura pas que vous avez réellement appuyé Enter), mais il en recevra éventuellement un.
L'interpréteur de Python a des capacités avancées lorsque vous utilisez GNU readline, comme Emacs ou des raccourcis clavier de style vi pour naviguer dans une ligne (par exemple Ctrl-A). Ceux-ci ne fonctionnent cependant que dans la seule ligne actuelle. L'histoire est là aussi, essayez simplement d'appuyer ↑.
Et si je veux répéter des lignes compliquées encore et encore?
Vous souhaiterez probablement utiliser les fichiers source appropriés si vous souhaitez exécuter plusieurs lignes de code à la fois.
Ou, utilisez les blocs - notes Jupyter , qui offrent un excellent moyen interactif de créer du code Python avec un interpréteur intégré. Vous pouvez écrire du code comme vous le feriez dans un éditeur de code source, mais vous pouvez choisir les lignes à interpréter ensemble. Vous pouvez ensuite exécuter uniquement certaines parties du code de manière sélective. La meilleure façon est d'essayer de voir si cela correspond à votre flux de travail.
la source
Que diriez-vous d'utiliser
;\
? Le point-virgule signale la fin d'une commande et la barre oblique inverse indique que nous continuons sur la ligne suivante. Par exemple, tapezpython
sur la ligne de commande pour accéder à l'interpréteur Python, puisdevrait donner une sortie de
la source
Autrement dit, si vous souhaitez apprendre et exécuter plusieurs lignes, vous l'écrivez dans un fichier .py.
La méthode de barre oblique inverse est bonne lorsque vous souhaitez exécuter rapidement une série de commandes, mais elle n'aide pas lorsque vous apprenez.
Vous pourrez mieux développer le code, modifier les commandes individuelles sans vous soucier des fautes d'orthographe et réutiliser les extraits de code que vous trouvez utiles si vous les écrivez dans un petit fichier.
la source
Je viens de taper ce qui suit à l'invite de mon shell, et cela a très bien fonctionné:
La manière de taper plus d'une ligne de code dans l'interpréteur Python interactif est, bien, de taper plus d'une ligne de code dans l'interpréteur Python interactif. Je pense que ce serait assez bien pour vos besoins.
Il est vrai que vous obtiendrez une nouvelle invite après chaque ligne, ce qui signifie que si deux de vos lignes de code produisent une sortie, cette sortie sera séparée par des invites. Je suppose que c'est ce qui vous préoccupe, bien que l'exemple de votre question ne suggère pas que:
Si c'est un problème, vous pouvez inclure vos multiples instructions dans une instruction (correctement en retrait!)
if
:(Je suggère, même si cela ne répond pas à votre question, que si vous écrivez du code suffisamment complexe pour que cela importe, vous devriez écrire des scripts. Peut-être que vous avez commencé à le faire en un an et demi depuis que vous avez posté la question.)
la source
Je venais de parcourir la réponse que vous avez obtenue.J'ai continué à expérimenter en mettant différents symboles.J'ai finalement eu la bonne syntaxe pour l'écrire.Ressayez ce qui suit
cela vous donnera un résultat
sans aucune erreur
je viens d'utiliser ';' pour le faire écrire dans une autre ligne
j'espère que ma réponse pourra vous aider
la source
Laissez simplement le shell et ouvrez un nouveau fichier éditeur. C'est-à-dire aller dans un fichier et ouvrir un nouveau fichier. Écrivez autant de lignes de codes que vous le souhaitez.
la source
Aux trois points, assurez-vous d'appuyer sur la touche "tab" avant d'entrer la commande suivante. Vous pouvez continuer à écrire autant de commandes de cette façon. Ainsi, lorsque vous appuyez sur Entrée après avoir écrit votre deuxième ligne de code, l'interpréteur vous permet d'entrer la troisième ligne de code ... comme dans l'exemple de Fibonacci ci-dessous (du tutoriel):
vous verrez le résultat du prog ci-dessus
la source