"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi ma fonction Python \"main()\" ne s'exécute-t-elle pas ?

Pourquoi ma fonction Python \"main()\" ne s'exécute-t-elle pas ?

Publié le 2024-11-10
Parcourir:420

Why Doesn\'t My Python \

Comprendre le problème « la fonction main() ne s'exécute pas »

Considérez le script Python suivant :

#! /usr/bin/python

def main():
    print("boo")

Lorsqu'il est exécuté dans Python 3.3, ce script ne parvient silencieusement à produire aucune sortie. Cela peut être déroutant.

Résoudre la cause première

Le problème réside dans le fait que la définition d'une fonction en Python n'exécute pas automatiquement son code. Le code de la fonction main() doit être explicitement appelé.

Dans ce script particulier, la fonction main() n'est jamais appelée. Par conséquent, l'instruction print qu'il contient reste inexécutée.

Solution : appeler la fonction

Pour résoudre le problème, il vous suffit d'appeler la fonction main() après l'avoir défini. Voici la version corrigée du script :

def main():
    print("boo")

main()  # Call the function explicitly

Maintenant, lorsque vous exécutez le script, il devrait correctement afficher "boo" sur la console.

Notes supplémentaires :

  • L'exemple de script fourni utilise la ligne shebang # ! /usr/bin/python pour spécifier l'interpréteur Python à utiliser lors de l'exécution du script.
  • La commande de script chmod 775 définit les autorisations pour le fichier de script, le rendant exécutable.
  • Le ./ La commande script exécute le fichier de script comme un programme normal.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3