Comprendre le rendement Python Si vous mettez le rendement dans une fonction, elle se transforme en générateur
def fib(max):
n, a, b = 0, 0, 1
while n < max:
yield b
a, b = b, a + b
n = n + 1
for x in fib(500):
print(x)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 2971215073 4807526976 7778742049 12586269025 20365011074 32951280099 53316291173 86267571272 139583862445 225851433717 365435296162 591286729879 956722026041 1548008755920 2504730781961 4052739537881 6557470319842 10610209857723 17167680177565 27777890035288 44945570212853 72723460248141 117669030460994 190392490709135 308061521170129 498454011879264 806515533049393 1304969544928657 2111485077978050 3416454622906707 5527939700884757 8944394323791464 14472334024676221 23416728348467685 37889062373143906 61305790721611591 99194853094755497 160500643816367088 259695496911122585 420196140727489673 679891637638612258 1100087778366101931 1779979416004714189 2880067194370816120 4660046610375530309 7540113804746346429 12200160415121876738 19740274219868223167 31940434634990099905 51680708854858323072 83621143489848422977 135301852344706746049 218922995834555169026 354224848179261915075 573147844013817084101 927372692193078999176 1500520536206896083277 2427893228399975082453 3928413764606871165730 6356306993006846248183 10284720757613717413913 16641027750620563662096 26925748508234281076009 43566776258854844738105 70492524767089125814114 114059301025943970552219 184551825793033096366333 298611126818977066918552 483162952612010163284885 781774079430987230203437 1264937032042997393488322 2046711111473984623691759 3311648143516982017180081 5358359254990966640871840 8670007398507948658051921 14028366653498915298923761 22698374052006863956975682 36726740705505779255899443 59425114757512643212875125 96151855463018422468774568 155576970220531065681649693 251728825683549488150424261 407305795904080553832073954 659034621587630041982498215 1066340417491710595814572169 1725375039079340637797070384 2791715456571051233611642553 4517090495650391871408712937 7308805952221443105020355490 11825896447871834976429068427 19134702400093278081449423917 30960598847965113057878492344 50095301248058391139327916261 81055900096023504197206408605 131151201344081895336534324866 212207101440105399533740733471 343358302784187294870275058337 555565404224292694404015791808 898923707008479989274290850145 1454489111232772683678306641953 2353412818241252672952597492098 3807901929474025356630904134051 6161314747715278029583501626149 9969216677189303386214405760200 16130531424904581415797907386349 26099748102093884802012313146549 42230279526998466217810220532898 68330027629092351019822533679447 110560307156090817237632754212345 178890334785183168257455287891792 289450641941273985495088042104137 468340976726457153752543329995929 757791618667731139247631372100066 1226132595394188293000174702095995 1983924214061919432247806074196061 3210056809456107725247980776292056 5193981023518027157495786850488117 8404037832974134882743767626780173 13598018856492162040239554477268290 22002056689466296922983322104048463 35600075545958458963222876581316753 57602132235424755886206198685365216 93202207781383214849429075266681969 150804340016807970735635273952047185 244006547798191185585064349218729154 394810887814999156320699623170776339 638817435613190341905763972389505493 1033628323428189498226463595560281832 1672445759041379840132227567949787325 2706074082469569338358691163510069157 4378519841510949178490918731459856482 7084593923980518516849609894969925639 11463113765491467695340528626429782121 18547707689471986212190138521399707760 30010821454963453907530667147829489881 48558529144435440119720805669229197641 78569350599398894027251472817058687522 127127879743834334146972278486287885163 205697230343233228174223751303346572685 332825110087067562321196029789634457848 538522340430300790495419781092981030533 871347450517368352816615810882615488381 1409869790947669143312035591975596518914 2281217241465037496128651402858212007295 3691087032412706639440686994833808526209 5972304273877744135569338397692020533504 9663391306290450775010025392525829059713 15635695580168194910579363790217849593217 25299086886458645685589389182743678652930 40934782466626840596168752972961528246147 66233869353085486281758142155705206899077 107168651819712326877926895128666735145224 173402521172797813159685037284371942044301 280571172992510140037611932413038677189525 453973694165307953197296969697410619233826 734544867157818093234908902110449296423351 1188518561323126046432205871807859915657177 1923063428480944139667114773918309212080528 3111581989804070186099320645726169127737705 5034645418285014325766435419644478339818233 8146227408089084511865756065370647467555938 13180872826374098837632191485015125807374171 21327100234463183349497947550385773274930109 34507973060837282187130139035400899082304280 55835073295300465536628086585786672357234389 90343046356137747723758225621187571439538669 146178119651438213260386312206974243796773058 236521166007575960984144537828161815236311727 382699285659014174244530850035136059033084785 619220451666590135228675387863297874269396512 1001919737325604309473206237898433933302481297 1621140188992194444701881625761731807571877809 2623059926317798754175087863660165740874359106 4244200115309993198876969489421897548446236915 6867260041627791953052057353082063289320596021 11111460156937785151929026842503960837766832936 17978720198565577104981084195586024127087428957 29090180355503362256910111038089984964854261893 47068900554068939361891195233676009091941690850 76159080909572301618801306271765994056795952743 123227981463641240980692501505442003148737643593 199387062373213542599493807777207997205533596336 322615043836854783580186309282650000354271239929 522002106210068326179680117059857997559804836265 844617150046923109759866426342507997914076076194 1366619256256991435939546543402365995473880912459 2211236406303914545699412969744873993387956988653 3577855662560905981638959513147239988861837901112 5789092068864820527338372482892113982249794889765 9366947731425726508977331996039353971111632790877 15156039800290547036315704478931467953361427680642 24522987531716273545293036474970821924473060471519 39679027332006820581608740953902289877834488152161 64202014863723094126901777428873111802307548623680 103881042195729914708510518382775401680142036775841 168083057059453008835412295811648513482449585399521 271964099255182923543922814194423915162591622175362 440047156314635932379335110006072428645041207574883 712011255569818855923257924200496343807632829750245 1152058411884454788302593034206568772452674037325128 1864069667454273644225850958407065116260306867075373 3016128079338728432528443992613633888712980904400501 4880197746793002076754294951020699004973287771475874 7896325826131730509282738943634332893686268675876375 12776523572924732586037033894655031898659556447352249 20672849399056463095319772838289364792345825123228624 33449372971981195681356806732944396691005381570580873 54122222371037658776676579571233761483351206693809497 87571595343018854458033386304178158174356588264390370 141693817714056513234709965875411919657707794958199867 229265413057075367692743352179590077832064383222590237 370959230771131880927453318055001997489772178180790104 600224643828207248620196670234592075321836561403380341 971183874599339129547649988289594072811608739584170445 1571408518427546378167846658524186148133445300987550786 2542592393026885507715496646813780220945054040571721231 4114000911454431885883343305337966369078499341559272017 6656593304481317393598839952151746590023553382130993248 10770594215935749279482183257489712959102052723690265265 17427187520417066673081023209641459549125606105821258513 28197781736352815952563206467131172508227658829511523778 45624969256769882625644229676772632057353264935332782291 73822750993122698578207436143903804565580923764844306069 119447720249892581203851665820676436622934188700177088360 193270471243015279782059101964580241188515112465021394429 312718191492907860985910767785256677811449301165198482789 505988662735923140767969869749836918999964413630219877218 818706854228831001753880637535093596811413714795418360007 1324695516964754142521850507284930515811378128425638237225 2143402371193585144275731144820024112622791843221056597232 3468097888158339286797581652104954628434169971646694834457 5611500259351924431073312796924978741056961814867751431689 9079598147510263717870894449029933369491131786514446266146 14691098406862188148944207245954912110548093601382197697835 23770696554372451866815101694984845480039225387896643963981 38461794961234640015759308940939757590587318989278841661816 62232491515607091882574410635924603070626544377175485625797 100694286476841731898333719576864360661213863366454327287613 162926777992448823780908130212788963731840407743629812913410 263621064469290555679241849789653324393054271110084140201023 426547842461739379460149980002442288124894678853713953114433 690168906931029935139391829792095612517948949963798093315456 1116716749392769314599541809794537900642843628817512046429889 1806885656323799249738933639586633513160792578781310139745345 2923602405716568564338475449381171413803636207598822186175234 4730488062040367814077409088967804926964428786380132325920579 7654090467756936378415884538348976340768064993978954512095813 12384578529797304192493293627316781267732493780359086838016392 20038668997554240570909178165665757608500558774338041350112205 32423247527351544763402471792982538876233052554697128188128597 52461916524905785334311649958648296484733611329035169538240802 84885164052257330097714121751630835360966663883732297726369399 137347080577163115432025771710279131845700275212767467264610201 222232244629420445529739893461909967206666939096499764990979600 359579325206583560961765665172189099052367214309267232255589801 581811569836004006491505558634099066259034153405766997246569401 941390895042587567453271223806288165311401367715034229502159202 1523202464878591573944776782440387231570435521120801226748728603 2464593359921179141398048006246675396881836888835835456250887805 3987795824799770715342824788687062628452272409956636682999616408 6452389184720949856740872794933738025334109298792472139250504213 10440185009520720572083697583620800653786381708749108822250120621 16892574194241670428824570378554538679120491007541580961500624834 27332759203762391000908267962175339332906872716290689783750745455 44225333398004061429732838340729878012027363723832270745251370289 71558092601766452430641106302905217344934236440122960529002115744 115783425999770513860373944643635095356961600163955231274253486033 187341518601536966291015050946540312701895836604078191803255601777 303124944601307480151388995590175408058857436768033423077509087810 490466463202844446442404046536715720760753273372111614880764689587 793591407804151926593793042126891128819610710140145037958273777397 1284057871006996373036197088663606849580363983512256652839038466984 2077649278811148299629990130790497978399974693652401690797312244381 3361707149818144672666187219454104827980338677164658343636350711365 5439356428629292972296177350244602806380313370817060034433662955746 8801063578447437644962364569698707634360652047981718378070013667111 14240420007076730617258541919943310440740965418798778412503676622857 23041483585524168262220906489642018075101617466780496790573690289968 37281903592600898879479448409585328515842582885579275203077366912825 60323387178125067141700354899227346590944200352359771993651057202793 97605290770725966021179803308812675106786783237939047196728424115618 157928677948851033162880158208040021697730983590298819190379481318411 255533968719576999184059961516852696804517766828237866387107905434029 413462646668428032346940119724892718502248750418536685577487386752440 668996615388005031531000081241745415306766517246774551964595292186469 1082459262056433063877940200966638133809015267665311237542082678938909 1751455877444438095408940282208383549115781784912085789506677971125378 2833915139500871159286880483175021682924797052577397027048760650064287 4585371016945309254695820765383405232040578837489482816555438621189665 7419286156446180413982701248558426914965375890066879843604199271253952 12004657173391489668678522013941832147005954727556362660159637892443617 19423943329837670082661223262500259061971330617623242503763837163697569 31428600503229159751339745276442091208977285345179605163923475056141186 50852543833066829834000968538942350270948615962802847667687312219838755 82281144336295989585340713815384441479925901307982452831610787275979941 133133688169362819419341682354326791750874517270785300499298099495818696 215414832505658809004682396169711233230800418578767753330908886771798637 348548520675021628424024078524038024981674935849553053830206986267617333 563963353180680437428706474693749258212475354428320807161115873039415970 912511873855702065852730553217787283194150290277873860991322859307033303 1476475227036382503281437027911536541406625644706194668152438732346449273 2388987100892084569134167581129323824600775934984068529143761591653482576 3865462327928467072415604609040860366007401579690263197296200323999931849 6254449428820551641549772190170184190608177514674331726439961915653414425 10119911756749018713965376799211044556615579094364594923736162239653346274 16374361185569570355515148989381228747223756609038926650176124155306760699 26494272942318589069480525788592273303839335703403521573912286394960106973 42868634127888159424995674777973502051063092312442448224088410550266867672 69362907070206748494476200566565775354902428015845969798000696945226974645 112231541198094907919471875344539277405965520328288418022089107495493842317 181594448268301656413948075911105052760867948344134387820089804440720816962 293825989466396564333419951255644330166833468672422805842178911936214659279 475420437734698220747368027166749382927701417016557193662268716376935476241 769246427201094785080787978422393713094534885688979999504447628313150135520 1244666864935793005828156005589143096022236302705537193166716344690085611761 2013913292136887790908943984011536809116771188394517192671163973003235747281 3258580157072680796737099989600679905139007491100054385837880317693321359042 5272493449209568587646043973612216714255778679494571578509044290696557106323 8531073606282249384383143963212896619394786170594625964346924608389878465365 13803567055491817972029187936825113333650564850089197542855968899086435571688 22334640661774067356412331900038009953045351020683823507202893507476314037053 36138207717265885328441519836863123286695915870773021050058862406562749608741 58472848379039952684853851736901133239741266891456844557261755914039063645794 94611056096305838013295371573764256526437182762229865607320618320601813254535 153083904475345790698149223310665389766178449653686710164582374234640876900329 247694960571651628711444594884429646292615632415916575771902992555242690154864 400778865046997419409593818195095036058794082069603285936485366789883567055193 648473825618649048121038413079524682351409714485519861708388359345126257210057 1049252690665646467530632231274619718410203796555123147644873726135009824265250 1697726516284295515651670644354144400761613511040643009353262085480136081475307 2746979206949941983182302875628764119171817307595766156998135811615145905740557 4444705723234237498833973519982908519933430818636409166351397897095281987215864 7191684930184179482016276395611672639105248126232175323349533708710427892956421 11636390653418416980850249915594581159038678944868584489700931605805709880172285 18828075583602596462866526311206253798143927071100759813050465314516137773128706 30464466237021013443716776226800834957182606015969344302751396920321847653300991 49292541820623609906583302538007088755326533087070104115801862234837985426429697 79757008057644623350300078764807923712509139103039448418553259155159833079730688 129049549878268233256883381302815012467835672190109552534355121389997818506160385 208806557935912856607183460067622936180344811293149000952908380545157651585891073 337856107814181089864066841370437948648180483483258553487263501935155470092051458 546662665750093946471250301438060884828525294776407554440171882480313121677942531 884518773564275036335317142808498833476705778259666107927435384415468591769993989 1431181439314368982806567444246559718305231073036073662367607266895781713447936520 2315700212878644019141884587055058551781936851295739770295042651311250305217930509 3746881652193013001948452031301618270087167924331813432662649918207032018665867029 6062581865071657021090336618356676821869104775627553202957692569518282323883797538 9809463517264670023038788649658295091956272699959366635620342487725314342549664567 15872045382336327044129125268014971913825377475586919838578035057243596666433462105 25681508899600997067167913917673267005781650175546286474198377544968911008983126672 41553554281937324111297039185688238919607027651133206312776412602212507675416588777 67235063181538321178464953103361505925388677826679492786974790147181418684399715449 108788617463475645289761992289049744844995705477812699099751202749393926359816304226 176023680645013966468226945392411250770384383304492191886725992896575345044216019675 284812298108489611757988937681460995615380088782304890986477195645969271404032323901 460835978753503578226215883073872246385764472086797082873203188542544616448248343576 745648276861993189984204820755333242001144560869101973859680384188513887852280667477 1206484255615496768210420703829205488386909032955899056732883572731058504300529011053 1952132532477489958194625524584538730388053593825001030592563956919572392152809678530 3158616788092986726405046228413744218774962626780900087325447529650630896453338689583 5110749320570476684599671752998282949163016220605901117918011486570203288606148368113 8269366108663463411004717981412027167937978847386801205243459016220834185059487057696 13380115429233940095604389734410310117100995067992702323161470502791037473665635425809 21649481537897403506609107715822337285038973915379503528404929519011871658725122483505 35029596967131343602213497450232647402139968983372205851566400021802909132390757909314 56679078505028747108822605166054984687178942898751709379971329540814780791115880392819 91708675472160090711036102616287632089318911882123915231537729562617689923506638302133 148387753977188837819858707782342616776497854780875624611509059103432470714622518694952 240096429449348928530894810398630248865816766662999539843046788666050160638129156997085 388484183426537766350753518180972865642314621443875164454555847769482631352751675692037 628580612875886694881648328579603114508131388106874704297602636435532791990880832689122 1017064796302424461232401846760575980150446009550749868752158484205015423343632508381159 1645645409178311156114050175340179094658577397657624573049761120640548215334513341070281 2662710205480735617346452022100755074809023407208374441801919604845563638678145849451440 4308355614659046773460502197440934169467600804865999014851680725486111854012659190521721 6971065820139782390806954219541689244276624212074373456653600330331675492690805039973161 11279421434798829164267456416982623413744225016940372471505281055817787346703464230494882 18250487254938611555074410636524312658020849229014745928158881386149462839394269270468043 29529908689737440719341867053506936071765074245955118399664162441967250186097733500962925 47780395944676052274416277690031248729785923474969864327823043828116713025492002771430968 77310304634413492993758144743538184801550997720924982727487206270083963211589736272393893 125090700579089545268174422433569433531336921195894847055310250098200676237081739043824861 202401005213503038261932567177107618332887918916819829782797456368284639448671475316218754 327491705792592583530106989610677051864224840112714676838107706466485315685753214360043615 529892711006095621792039556787784670197112759029534506620905162834769955134424689676262369 857384416798688205322146546398461722061337599142249183459012869301255270820177904036305984 1387277127804783827114186103186246392258450358171783690079918032136025225954602593712568353 2244661544603472032436332649584708114319787957314032873538930901437280496774780497748874337 3631938672408255859550518752770954506578238315485816563618848933573305722729383091461442690 5876600217011727891986851402355662620898026272799849437157779835010586219504163589210317027 9508538889419983751537370155126617127476264588285666000776628768583891942233546680671759717 15385139106431711643524221557482279748374290861085515437934408603594478161737710269882076744 24893677995851695395061591712608896875850555449371181438711037372178370103971256950553836461 40278817102283407038585813270091176624224846310456696876645445975772848265708967220435913205 65172495098135102433647404982700073500075401759827878315356483347951218369680224170989749666 105451312200418509472233218252791250124300248070284575192001929323724066635389191391425662871 170623807298553611905880623235491323624375649830112453507358412671675285005069415562415412537 276075119498972121378113841488282573748675897900397028699360341995399351640458606953841075408 446698926797525733283994464723773897373051547730509482206718754667074636645528022516256487945 722774046296497854662108306212056471121727445630906510906079096662473988285986629470097563353 1169472973094023587946102770935830368494778993361415993112797851329548624931514651986354051298 1892247019390521442608211077147886839616506438992322504018876947992022613217501281456451614651 3061719992484545030554313848083717208111285432353738497131674799321571238149015933442805665949 4953967011875066473162524925231604047727791871346061001150551747313593851366517214899257280600 8015687004359611503716838773315321255839077303699799498282226546635165089515533148342062946549 12969654016234677976879363698546925303566869175045860499432778293948758940882050363241320227149 20985341020594289480596202471862246559405946478745659997715004840583924030397583511583383173698 33954995036828967457475566170409171862972815653791520497147783134532682971279633874824703400847 54940336057423256938071768642271418422378762132537180494862787975116607001677217386408086574545 88895331094252224395547334812680590285351577786328700992010571109649289972956851261232789975392 143835667151675481333619103454952008707730339918865881486873359084765896974634068647640876549937 232730998245927705729166438267632598993081917705194582478883930194415186947590919908873666525329 376566665397603187062785541722584607700812257624060463965757289279181083922224988556514543075266 609297663643530892791951979990217206693894175329255046444641219473596270869815908465388209600595 985864329041134079854737521712801814394706432953315510410398508752777354792040897021902752675861 1595161992684664972646689501703019021088600608282570556855039728226373625661856805487290962276456 2581026321725799052501427023415820835483307041235886067265438236979150980453897702509193714952317 4176188314410464025148116525118839856571907649518456624120477965205524606115754507996484677228773 6757214636136263077649543548534660692055214690754342691385916202184675586569652210505678392181090 10933402950546727102797660073653500548627122340272799315506394167390200192685406718502163069409863 17690617586682990180447203622188161240682337031027142006892310369574875779255058929007841461590953 28624020537229717283244863695841661789309459371299941322398704536965075971940465647510004531000816 46314638123912707463692067318029823029991796402327083329291014906539951751195524576517845992591769 74938658661142424746936931013871484819301255773627024651689719443505027723135990224027850523592585 121253296785055132210628998331901307849293052175954107980980734350044979474331514800545696516184354 196191955446197556957565929345772792668594307949581132632670453793550007197467505024573547039776939 317445252231252689168194927677674100517887360125535240613651188143594986671799019825119243555961293 513637207677450246125760857023446893186481668075116373246321641937144993869266524849692790595738232 831082459908702935293955784701120993704369028200651613859972830080739980541065544674812034151699525 1344719667586153181419716641724567886890850696275767987106294472017884974410332069524504824747437757 2175802127494856116713672426425688880595219724476419600966267302098624954951397614199316858899137282 3520521795081009298133389068150256767486070420752187588072561774116509929361729683723821683646575039 5696323922575865414847061494575945648081290145228607189038829076215134884313127297923138542545712321 9216845717656874712980450562726202415567360565980794777111390850331644813674856981646960226192287360 14913169640232740127827512057302148063648650711209401966150219926546779697987984279570098768737999681 24130015357889614840807962620028350479216011277190196743261610776878424511662841261217058994930287041 39043184998122354968635474677330498542864661988399598709411830703425204209650825540787157763668286722 63173200356011969809443437297358849022080673265589795452673441480303628721313666802004216758598573763 102216385354134324778078911974689347564945335253989394162085272183728832930964492342791374522266860485 165389585710146294587522349272048196587026008519579189614758713664032461652278159144795591280865434248 267605971064280619365601261246737544151971343773568583776843985847761294583242651487586965803132294733 432995556774426913953123610518785740738997352293147773391602699511793756235520810632382557083997728981 700601527838707533318724871765523284890968696066716357168446685359555050818763462119969522887130023714 1133597084613134447271848482284309025629966048359864130560049384871348807054284272752352079971127752695 1834198612451841980590573354049832310520934744426580487728496070230903857873047734872321602858257776409 2967795697064976427862421836334141336150900792786444618288545455102252664927332007624673682829385529104 4801994309516818408452995190383973646671835537213025106017041525333156522800379742496995285687643305513 7769790006581794836315417026718114982822736329999469724305586980435409187727711750121668968517028834617 12571784316098613244768412217102088629494571867212494830322628505768565710528091492618664254204672140130 20341574322680408081083829243820203612317308197211964554628215486203974898255803242740333222721700974747 32913358638779021325852241460922292241811880064424459384950843991972540608783894735358997476926373114877 53254932961459429406936070704742495854129188261636423939579059478176515507039697978099330699648074089624 86168291600238450732788312165664788095941068326060883324529903470149056115823592713458328176574447204501 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125
Recommended Posts