Tw eet
Tw eet
6
Like
Like
Share
0
←Messagesubliminal? ConnaîtrelaversiondeRsync→
PostComment
Pourquoi if__name__=='__main__' enPython?
Thisentrywaspostedin Programmation andtagged python on22/09/2012bySam
if__name__=='__main__' estununidiomequ’onvoitsouventdanslesscriptsPython.
Aquoisert-il?
Contrairementàd’autreslangagescommeleC,leJavaouleC#,Pythonn’apasdefonctionouméthodemain() .Quandonlanceun
script,toutlescriptestexécutedanstouslescas,etaucunefonctionn’estappeléeautomatiquement.
Normalementc’estplutôtunebonnechose.Expliciteisbetterthanimplicit,toutça.
Maiscelaposeunproblèmequandonaunscriptquicontientducodequel’onsouhaiteexécuterquandonlancelescript
directement,maispasquandonl’importedansunautrescript.
Parexemple,unscriptegouts.pyquinefaitriend’intéressant(maisquilefaitvachementbien):
deftortues():
print"kawabunga"
tortues()
Sionfait pythonegouts.py ,çavalancer tortues() .Sionfaitdansunautrescriptimportegout ,çavaaussilancer tortues() .Pas
glop.
Pouréviterça:
deftortues():
print"kawabunga"
if__name__=='__main__':
tortues()
Ainsi,sionfaitpythonegouts.py ,çavalancer tortues() maispassionfait importegout dansunautrescript.
Commentçamarche?
C’estuneconditiontoutàfaitordinaire,onpeutmettredesif n’importeoùdansducodePython.
Laseuleastuceconsisteenl’existencedelavariable__name__ quiestunevariableautomatiquementcrééeparPython,toujours
disponible,n’importeoù,danstouslesscripts.
Cettevariablecontientlenomduscriptcourantsionimportelescript.Ainsi,dansn’importequelcode,onpeutvérifieroùonest.
Maissilescriptestlescriptprincipal,alors__name__ necontientpaslenomduscript,ilcontientlachaîne __main__ (oui,c’est
bizarreavecdeuxunderscores,maisc’estunechaînenormale).
Donconditjuste:sicecodeestexécutéentantquescriptprincipal(appelédirectementavecPythonetpasimporté),alorsexécuter
cettefonction.
Partager:
5thoughtson“Pourquoiif__name__=='__main__' enPython
?
Leaveacomment
Youremailaddresswillnotbepublished.Requiredfieldsaremarked*
Name*
Email*
Website
Comment
YoumayusetheseHTMLtagsandattributes: <ahref=""title=""><abbrtitle=""><acronymtitle=""><b><blockquotecite=""><cite><code>
<deldatetime=""><em><i><qcite=""><strike><strong>
Notifymeoffollow-upcommentsbyemail.
Notifymeofnewpostsbyemail.
DesquestionsPythonsansrapportavecl'article?Posez-lessurIndexError.
Horsdublog
Pagedecontact
@sam_et_maxsurtweeter
NostweetsenRSS
Forkme,I’mfamous(github)
Touslestextesdeceblog,saufsignalementcontraire,
sontsouslicencecreativecommon3.0unported.Toiaussi,trouveunarticle
obsolètesurnotreblog
June2015(2)
May2015(12)
April2015(13)
March2015(8)
February2015(4)
January2015(21)
December2014(24)
November2014(6)
October2014(18)
September2014(10)
August2014(5)
July2014(11)
June2014(25)
Email
More
desfrenes
22/09/2012at19:11
etenphp:http://www.desfrenes.com/blog/post/python-wannabe/
Sam Postauthor
23/09/2012at00:36
Dommagequetuaiarrêtéceblog,jel’aimaisbien.
mouarf
28/11/2012at18:46
Pourlemomentc’estmoil’idiome.
Jevaistâcherdenepaslerester:D
Sam Postauthor
28/11/2012at19:28
mouarf,dirais-je
o
20/06/2014at23:12
superpratiquepourcréerdeslibsetlestesters!onpeutsefairedespetitsscriptsdetestgraceàcemain
!
TéléchargercettepageenPDF
Souscrireànosconneries
Entrezvotreadressemailetvous
recevrezunenotificationàchaque
nouvelarticle.
Join506othersubscribers
EmailAddress
J'adhère,bondieu!
TagCloud
0binangularjsautobahnbashbitcoinblog
cachecomprehension-listscssculdecorator
djangoencodinggithtmlhttpimport
ipythoniterablejavascriptjquerylambda
linuxmetamysqlnginxnsfwpippoo
pythonpython3redisrubyserver
shellsshsublimetexttwitterubuntuunittests
unpackingvirtualenvwampwindowsyield
Envoyezdessioux
Onadooooorelesbitcoins:
19zAHPPuce4BAhsdy9KaFwVLurEJXMhMAn
Nosprojets
Multiboards–l’actugeekfrenune
page
0bin–lepastebinchiffré
Allthatcounts–compteurpourjeux
Djangoquicky–quickviewsfor
Django
VizHash.js–Hashvisuels
Codedesarticlesdublog
5
Ducode,ducul
Prog AdminSys Philo&culture Cul Cours&tutos Multiboards
VeillePythonFr QuestionsPython
May2014(14)
April2014(10)
March2014(23)
February2014(27)
January2014(17)
December2013(27)
November2013(25)
October2013(27)
September2013(1)
August2013(31)
July2013(32)
June2013(24)
May2013(30)
April2013(31)
March2013(33)
February2013(29)
January2013(34)
December2012(32)
November2012(36)
October2012(35)
September2012(36)
August2012(37)
July2012(33)
June2012(24)
May2012(31)
April2012(20)
March2012(10)
February2012(14)
·©2015Sam&Max·DesignedbyThemes&Co· Backtotop
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !