ROSS RHEINGANS-YOO: Kaixo, ni Ross. Eta hau CS50 mintegi bat da. Eramango zaitu programazio-tik Python programazio C. Python scripting hizkuntza bat da. Da, neurri handi batean C bezalako sintaxia, batzuk nahiz xehetasun tekniko baten nola sintaxia lortzen fusilatu zertxobait ezberdinak dira. Nolabait C baino indartsuagoa izango baita. Da for adierazkorra gutxiago non zehazki zure ordenagailuan memoria ezarritako aterako, nola lortzen ezarritako hura, askatasuna lortzen denean, eta gauza hauek. C baino gehiago erabilgarria nolabait da, errazagoa da ere programatu delako. Hizkuntza da, batzuk pertsona, intuitiboagoa. Eta benetan, helburua da azkarragoa izan dadin programatu eta potentzialki mantsoagoa da exekutatu. Orain pentsatzen baduzu zenbat denbora Igaro duzu zure azken orrian Arazoa ezarri idatziz Zure kodea aurka denbora duzun zenbatekoa Zure azken arazoa ezarri zure exekutatzen kodea, zinela imajinatu hizkuntza dela bertan bi aldiz azkarrago to idatzi zen, eta, gauzatzeko bi aldiz motela liteke C baino gehiago hobetzea nolabait izan. Zalantzarik idazten saiatzen ari zaren denean gauza gutxi egin programen txikiei, Python aukeratu hizkuntza erabilgarria da. Eta honen amaieran Mintegi, espero dut dituzu izan egiteko gai etorkizuneko proiektuetan aukeratu Hauei buruzko hizkuntza da zuzena erabili, ez ideia hizkuntza bat gehiago da denbora guztian zuzentzeko. Mintegian zer den azaltzeko gauza batzuk. Mintegi hau ez da xedea irakasteko Python hutsetik. Python oso antzekoa da C, eta naiz suposatuz zarela CS50 ikasle bat, edo norbaitek C. antzeko etxekotasuna batekin Oraindik CS50 ikaslea bazara inguruan arazo multzo 6, beraz, ikusi asko duzula C gauzak, emango dizut Ezberdintasun handiak, eta gauza batzuk Hori egiteko Python ezberdinak eta bereziak eta erabilgarriak, baina ez dut joan zer programazio lengoaia bat da eta nola programak idazteko. Hala eta guztiz ere, mintegi honetan izango irakasteko Python programak bat idatzi behar duzu Oraindik bada talde gutxi horietako bat da. Berriz ere, nola bilatuko dugu psets-- ezartzea litzateke duzu Hori 1-6 izan beharko luke ere Python-- eta ematen erakusleak erregistro ofizialen kontsultatu ahal izateko. Hori da garrantzitsuena, beste gauza Hitzaldi honetan, nola esleitzen den moduari buruz, Bideo honetan izango da online, CS50 adeitasuna, beraz, ez behar duzu gogorik ohar hartu behar da. Zuk beti atzera egin eta begiratu daiteke egiten geroago erreferentzia bezala. Gainera diapositibak eskuragarri daude oraintxe Gune honetan, eta horrek behar Googlek dok bat egiten duzula hartu. Zertxobait bertsio laburtu bat da pantailaren alde egiten dudana erakusten ari dira. One kontuz Oharra aurretik salto dugu, Python 3 Python 2 beste hizkuntza bat da. Asko begiratzen dute bera; daude Arazo teknikoak, oso arina duten programak eragingo du Python 2 idatzia ez ahal izatea exekutatu behar den Python 3 ingurunean. CS50 tresna dator Python, lehenetsita Python 2 erabiltzen du. Hau egiaztatu ahal izango duzu arabera Idazteko zure komando lerroan python --version, horrek behar irteeraren Gaur egungo tresnaren 2.7.6. Saiatu Python 3, horrek esan nahi du Appliance lan, bada Python 2.X.Y lehenetsiak, banatan aparatuaren edo zure makinak kabuz. Ordezkatu zenuke Python 3 anytime eztabaida hori ere Python idatzi dut. Zure makina badago exekutatzen 2 lehenetsita, mota Python 3 ordena gai izan benetan batera jarraitu eta gauza horiek exekutatu. Gainera, seinalatu dut orain baliabideak ofizialean. docs.python.org/3-- zaindua hori da 3 bat eta ez bat 2-- erreferentziak erabilgarria du. Tutoretza eramango zaitu bidez Gauza bera askoz Hori orain egiten ari naiz, testu formulario izan ezik. Erreferentzia da gisa erabilgarria Hizkuntzaren erreferente, eta Standard Liburutegia ematen zenbait luzapen duzu funtzionalitate batzuk batera. Beraz, lehenengo Python programa bat. Ezkerreko C estandarra dugu On, eskuinaldetik, Python ditugu. Zuk aitortu izana Arazo hau, da, Lehenengo arazoa bat CS50 multzo, eta horien Konponbidea bera erabiliz konpondu. Orain, arrazoi ari garela Bigarren mailako horien aldamenean begira beraz, ez dugu begiratu dezake sintaktikoa ezberdintasunak. Gelan elefante bat arrazoi duzu nabaritu izan liteke bat itzali da, Python hori ez du kodea inguruan funtzio nagusia egokitzerik. Beraz, C, mordo bat idatzi duzu fitxategiak, haiekin lotzen elkarrekin, eta programa exekutatzean hasten Gauza honetan izeneko int nagusia. Python, idatzi duzun bat fitxategia duzu, fitxategia exekutatu, Programa exekutatu hasten Fitxategiaren goialdean. Beraz, martxan jarriko fitxategia goialdean joan behera, beste zerbait aurkitu arte. Funtzioaren definizio bat aurkitzen badio, ezin izango da benetan kodea duten exekutatu, Besterik gabe, funtzioa definitzen da. Baina hemen, lehena programa da n berdinen 10, programa hori gauza lehen eginen da 10 balioa hau hartu eta ezarri n izeneko aldagai bat sartu. Lerro horretaz ari, bat beste hau barkatu gauza esan nahi C programak direla, horiek idazten dituzu, horiek egin ahal izango duzu, egingo den Danbateko komando batzuk deitzen dioten, eta, ondoren, a abiarazi duzu exekutagarria ondorioz. Python programak, exekutatu Testu mario.py honek fitxategi lukeen Fitxategi hau dela erakutsi besterik ez dut izango Baduzu fitxategi hori abiarazi duzu eta exekutatu ahal izango duzu, eta testua exekutatuko dira Python interpreteak ez du. Hau egin ahal izango duzu zure IDE ere. Beraz Kaixo fitxategi bat badut, hori besterik edukiak hau. Hau da, benetan Python 2, ez Python 3, beraz, ez sintaxia kezkatu oraingoz. Baina exekutatu dut Python, on hello.py, eta hark kudeatzen. Hori Python erabili ahal izango dut beste modu bat Ez dizut hainbeste aurre eztabaida honetan, da I Python idatzi besterik ez bada, bertan tanta me ingurune bat non sartu Egiten dut Python linea elikatzen lerro. Hortaz, hona hemen, ere badut idatzi inprimatu espazioa 'kaixo, mundua'. Idatzi sartu. Txu egingo da niretzat emaitzen atzera banakako lerroan berehala. Hau oso erabilgarria izan daiteke. Hitzaldi honetan diapositibak gauza egin dut. Eta horrela jarraitu behar ahal izango duzu bietan zehar hemen ere, edota arabera benetako fitxategiak, eta gero horiek exekutatzean. Baina, atzera joan den hau kodea, beste gauza bat duzula izan noticed-- bai, ez da Bi gauza duzula agian bloke horiei buruz nabarituko. Lehena, baizik eta eguneroko gehiago, hori da Python no amaierako semicolon du. Puntuz aukerakoa dira nonahi eta sarraskirik nonahi. Gehi ditzakezu. Baliteke idatzi duten pertsonek egin da Bizi snicker bat baduzu, for Python zure atzetik, zeren Oraindik ez beharrezkoa dute. Oraindik ere, askotan ari ospatu baino seinale bat C. lengoaia diseinatzaileek Sentitzen argiagoa dela modu honetan eta deklaratzen du ez dela beharrezkoa den lerro bat amaitzen den bakoitzean. About n honetan gauza arraro Another da, ez du erantsitako mota bat dute. Python-- piezak magia bat eta ez dut magia deitu noa, baina ez dira oso Arrazoi teknikoak zergatik works-- bat Python piezak magia aldagai hori zabaltzeko edo dezake txikitu edozein dela ere datuak eduki mota dituzu horiek nahi luke. Beraz, hau da, 10 bat. Geroago behera bada esleitutako honetarako I n 0.5, 0.5 hori hartuko luke. Ez dio axola int bat hemen dela eta flotatzen han, N honetan egunero erabiltzen ezer izango, gehiago edo gutxiago, izan nahi chug gai horiek bai lortzen bada ere. Ez batzuek oso erreala izan ezean Arrazoia zergatik ezin datuak erabili idatzitako n ditu gaur egun, eta amaitzen da lortuko da hertsatuago eta errore bat bota, eta gauza mota horiek. Baina hemen, Python ez du benetan axola zer naiz duten I honetan itsasten joan da sententzia, bezala, hori nahi al duzu? Horretan kontu hau? Bai, gauza baten antzeko zerbait da. Makila dut, azken batean. Arazo bat izango da geroago, bada Norbait end hori erabili nahi duenak Ezin kudeatuko ditu. Hau da nagusietako bat Python eta C arteko desberdintasunak horri esker, erraza da C programak oso handiak idatzi Eta egiten errazago idazten da Python Oso txikiak programa. The sintaxia ez da oso zer egiten duen ere desberdinak. Apur bat desberdina da nola ere nik adierazi. Beraz, hau da, oso bat, zer deritzo Pythonic, idazteko modu. sorta (n) ilara for, hau da zenbakiak sorta 0tik n, behean, biak barne Eta tontorrean esklusiboa. Beraz, 0-tik n-1, hau da, ez da mehatz zer C Kodea egiten da, ezik da asko errazago to agian begiratu. Blokea garrantzitsua da Ez ezarri off giltza arabera, ordez ezarri off koskatzea honen arabera. Beraz, lerro hauek guztiak daude eskubidea baino gehiago, lau espazio, edo elefante zabalera bati buruz bezala. Eta horiek zeintzuk diren joan den honetan fusilatu behar da. Bada dut mezurik sortu du koskatzea hau eta I bultza inprimatu hori itzuli Jatorrizko koska, inprimatu hori utziko du begizta. C ez bezala, non hemen I actually Inguruan giltza itxia dela mugitu behar. Horrek esan nahi du ez duzula akatsak lortu salto zaitu duzulako giltza bat jarri okerreko lekuan. Esan nahi du akatsak lortu duzula salto zaitu duzulako lerro oker bat koska. Beraz, egiten indentations super ibili. Zorionez super izateaz zinen koskatzea Argi ibili, hala ere, eta, beraz, hau ez dela askoz zama bat gehiago. Baina Python oinarrizko arau bat, eta horiek pare bat izan dugu garela joango bitartez eztabaida horretan zehar, sintaxia natural saiatu da ezer bila eman aurretik. Beraz, sintaxia hau, alde sorta ere, kopuru hau: estilo aldetik oso bereizgarria da. Python ere gauza asko Ikusiko formulario hau hartzen dugu. Eta hala bada zatoz duten objektu berri batekin pentsatzeko gai izan behar duzu honetan zehar batetik bestera, formatu hau ere, ziurrenik bihurtzen da formatu hori onartzen. Ez gara super sakona joan joan Arrazoi teknikoak zergatik, hori egia da. Baina intuizioa erabilgarria izan da denean Python programak hurbiltzen zaren, duten gauza hori besterik ez da lanera joan. Saiatu da. Abiarazi komando Interpretea, ikusi lan egiten bada, aurrera egiteko gauza batera, aurretik nahiz ireki Google, eta esan behar, Zer da sintaxia partikular hori? Python asko egin dezakezu ezagutzeko besterik saiatuz. Hau da, nahiz more similar C gero fors daude. Kontuan izan ez dagoela da parentesi ez. Parentesi dira, berriro, Kalterik baina alferrikako. Ez dago bukaeran puntuz da begiztak for bezala, eta berriro, bloke erlatiboa dira koska erabili beharrean abiatu giltza arabera. Beste hau jatorrizkoa dago koskatze-maila, eta bere blokea garrantzitsuak berriro koska. Lan horiek egiten dute C. bezalaxe Hau da, benetan, oso gauza bera. Berriz, inprimatu karaktere bat galtzen du printf off kateak batzuk pasatzeko duzu. Kateak Bihurtzen da bai isola dezake Komatxo edo komatxo arabera. Ez da, aldea ez, Barruan izan ezik Komatxo erabili ahal izango duzu alde batera utzi komatxoen, baizik beharrik baino escape horiek guztiak. Eta komatxo barruan, zuk alde batera utzi Komatxo erabil daiteke horiek ihes egin behar izan gabe. Nahastu nahi baduzu horiek, zalantzarik gabe, ahal duzun itxura eman online nola egiten den. Hemen baino gehiago nabarituko duzu, End Nik gauza hori gainditu =. Aukerako baten adibidea da Argumentu, hau da, gauza bat Python hori onartzen duen egiten nahiko erabilgarria da. Beraz, inprimatu benetan asko ditu argumentuak, normalean euren lehenetsi gisa ezarrita balio, baina hemen dizkiat end izeneko inork jaramonik erabaki. Arrazoia dute I jaramonik ez da kate huts bat Python letra hau da, by default, inprimatzen linea berri bat Gauza ondoren dela esan duzu gehiegi. Beraz hash hau da benetan joan egiaztapen bat inprimatu linea berri bat ere. Eta ez dut nahi bada hash inprimatu linea berri bat da ondoren, eta gero esan behar dut ez inork inprimatu. Baina, oraindik ere, azken batean, gauza bat Programa honen falta du ez duela bat da baten goialdean, besteak beste. Inprimatu Python sartu labean, beraz, funtsean ez dagoela goiburua edo modulua ez da behar duzula besteak beste, nahi izanez gero, nahiz eta gauza batzuen besteak beste Python script batean, Hala egin behar dut oso antzeko formatu batean Hitzak besterik zertxobait ezberdinak dira. Dugu hori aipatu dut ez da beharrezkoa nagusi bat hemen, Python hasten delako goialdean exekutatzean. Biltzeko papera nahiko banu honek funtzio batean, I hala egin behar dut honen antzeko funtzioaren izenaren def esango, Argumentu hemen joan eta dizkizugu Geroago, bi puntu horietako batzuk, eta, ondoren, berriro ere, hau osoan abiatu bloke horixe da operatiboa Funtzio hori blokeatzeko. Beraz, hau definizioa da funtzioaren. Eta han deklarazio bat da, gero behera Hemen, besterik funtzioa deitu ahal izango dut. Eta berriro ere, programaren interpretatzailea, goialdean hasi, ikusiko honen definizioa da. Ezin izango da exekutatu hau da, harik iritsi, eta orduan bezala, ai orain deitzen duzunean, I Suposatzen da exekutatu beharko nuke. Gauza bat oso ohikoa da to Python fitxategiak ikusi, batez ere, Python fitxategiak dira publikoari kaleratu eta garatu by-- eta garatu mantendu, inprimaki hau zerbait da. Hau da, funtsean delako orain Python hasteko goialdean duzu eta, ondoren, behera exekutatu beheraino, I izan dut besterik ez bada Mario izeneko hemendik, gero edonoiz fitxategi honetan sartu nintzen lerroan beste, erabili nahi dudalako Mario funtzio da, beste fitxategi hori litzateke halaber, Mario dei hau egiten dute. Eta noiz fitxategia ran I, Mario deitu litzateke. Beraz, posible da dudala bakarrik exekutatzeko Benetan Nik baduzu fitxategi jakin hau exekutatu. Eta, beraz, hau bildu ahal izango dut bat ere hau da, non esaten dut atsegin idiom, bada exekuzioa honen izena ingurumena nagusia da, orduan gauza horiek egin nahi dut. Bestela beste inorekin ahal use-- artean, nire funtzioa Nire fitxategia, eta soilik lortu Funtzio horiek sarbidea gauzak egin beharrik izan gabe Fitxategi hau exekutatu nahi dut. Hau ere, aukerako baina oso ohikoa. Gauza hauek dira entirely-- dira zehazki C eta Python arteko bera, 3 zalantzarik. Nik uste dut, 2, banaketa operadoreak ere batzuetan ematen dizu atzera flotatzen ints ebakuntza duzu, eta bai Hori nahi duzun edo ez zenuen. Baina plus, ken, eta aldiz zehazki lan espero duzun bezala, izan ezik- mota apur bat gehiago. Beraz, karroza biderkatu dezakezu arabera ints, eta gauza hauek. multzo lan egiten du bera hain zuzen. Bi zeinu berdinak erabili ahal izango duzu. inequals-- baino handiagoa gutxiago, , baino gauza mota horiek esanahia izango dela Oraindik haiekin ezagutzen. Non C operadore horiek erabiltzen ditu, Python erabiltzen zertxobait gehiago ingelesez irakurgarri direnak. Beraz ordez bi, ampersands, zuk literalki idatzi hitza "eta", "edo," edo ez." Zure if-- hasi Like zure baldintzapeko adierazpenak, Lehen ikusi dugun hori C sintaxia hau Python sintaxia hau dagokio. Eta ez da ez asko ezberdinak Han, pixka bat izan ezik alboetan inguruan puntuazio. Berriz ere, non C litzateke beste bada, Python erabiltzen elif, baina hauek dira, batez ere, Azalera mailan aldaketak. Hau atsegin Iteration da askotan Python idiom honetan idatzita. Moduko hau fabrikatzeko dezakezu kanpoaldean, berriz, begizta bat gauza , nahi baduzu, baina baduzu zalantzarik ez dute. Eta berriro ere, nahi izanez gero egin array baten elementuen inprimatu ere egin dezakezu hainbat modu hau. Fun gauza bat da Python buruzko arren, da ez duzula behar paradigma hau erabiltzeko eta erabili ahal izango duzu apur bat gehiago dotorea. Ary ere bat dela diozu. Beraz, baizik eta hemen baino eta indizeak behera lasterka, eta orduan atera dio banakako elementuak, esango dizu benetan besterik to for elementu beraiek baino gehiago exekutatu. Eta gero, egiten ari zaren edozein dela barruan, zuzenean jardun daitezkeela elementuak, eta horrek nahiko dibertigarria da. Eta see-- zaitugu erabiliko dugu idiom, behin eta berriro kodea barrena ibiltzeko dugun bezala. Hau da, berriro, adibide bat Zerbait duten noa deitu Python magia, daude, nahiz eta arrazoi tekniko zergatik funtzionatzen. Eta ez dira gauza teknikoak ordena array buruz egia izan behar den horretarako atzean lan. Gauza mota gehienak dela bertan espero litzaidake hau da lanera izan gaurko hau garatuta dagoen eraiki-hizkuntzan duzu. Beste gauza bat dagoela polita izango litzateke hau hizkuntza guztietan jardungo balute, baina ez dago arrazoi batzuk zergatik ezin dira, inprimatu kate honen aldiz zenbaki hau. Turns Python ere, honek ez du zehazki zer gustatuko litzaidake, hau da, besterik gabe, fun, eta esan ahal izango dugu benetan programa hori murrizteko, berriro mario.c. Baizik asko errepikatzean baino, ahal dugun besterik esateko, espazio kopurua apur bat nahi dut Egiaztapenekin kopurua nahi dut, eta amaieran egiaztapenekin batzuk. Eta berriro ere, formatu hau erabiltzen dugu. Hemen, ere ari gara pasatzen aldagai bat modu hau. Berriz ere, ez dugu behar den esaten zer aldagai mota den, eta eta denbora bakarrik zaitugu lortu erroreak exekuzio garaian dago. Norbait saiatzen Zerbait gainditu ahal izateko, funtzioa sartu beharko da, ze ondo etorriko. Hemen ziri dugu hau ez delako bada duten artean ibiltzen sor dezakezu gauza, Runtime error bat eskuratu dut, ez dago, eta hura arazteko horrela pentsatzen dut. Baina, bien bitartean, ez daukat Oso kontuz zer jasotzen gainditu ere, hain luzea benetako parte gisa exekuzioa dena oso garbi du lan. Nahiz eta ezin nuen egin hau Pixka garbiagoa apur bat bereziki eraiki-funtzio bat erabiliz kateak, hau da, Lerrokatu Eskuman. Hau funtzio erabilgarria besterik ez da liburutegiaren inguruan etzanda. Da dokumentazioa It joan eta bertan bilatzen bada. Eta, esan nuen, bai, naiz izan joan kate hau, egiaztapenekin kopurua batzuk, eta izateko eskubidea justifikatzeko it pad nahi nuke luzera hau zela egindako ibilgailuentzako. Berriz ere, hauxe da dokumentazioa, eta horrek ekartzen us-- Actually dut sakatu bidez, horiek horrek garamatza gure bigarren arau Python-- liburutegi estandarra Funtzio metodoak zure lagunak dira. Eta askotan zure berriz, merezi du bila joan nintzen galdetzen for ez dagoela besterik ez, hau da gauza bat bada. Ziurrenik da. You like to pad baduzu Kate bat atera zuen, dituzu, bada bizkarrean hartu nahi kate baten erdia, dituzu, bada kate bat bilatzeko, bada gustatzen Gauza pare bat apurtu nahi duzuna elkarrekin kate batekin haien artean koma, daude liburutegi estandarrak Hori egiteko funtzioak. Eta zure bizitza egiten du errazagoa erabiliz gero ordez gogor baten dena norbera bost kode lerro hemen ere, bost kode lerro hemen. Hori benetan abiatzen da gehitu igo denbora errealean emateko. Gauza interesgarri bat nola buruz hau deitu zaio. Nabarituko duzu ez dagoela dot gauza bat da. Ezkerrean objektu batzuk ditut, eta, ondoren, funtzio bat puntu bat deitu nuen. Hau da paradigma bat duten Python metodo erantsiz objektuei erabili ditu. Egingo zer honi buruz hitz egin dugu da oso labur amaieran, baina jakin ahal izango dugu, bai funtzionatzeko hitzik esan dot hori hartuta gauza edozein dela ere, edo telefono honetara deituta duten funtzio bat hartzen du objektu hori eta beste argumentu batzuk. Beraz, horiek dira bai modu hori gauzak Python ere egin. Eta jakin bat ala funtzionalitate inplementatu estilo hau edo honen style zerbait da duzula begiratu behar delta lortu arte bertan Bat seguru asko erori da. Ez dago gehiago edo gutxiago kohesionatua filosofia Python atzean batez ere xurgatzeko duzula asko idatzi bertan arabera. Puntu batzuk, eta horietako batean Zerbait honela egingo da natural bihurtzen da. Oraingoz, besterik zerbait irudikatu ahala ikasten duzu banakako gauza bakoitza. Liburutegi Beraz estandarra funtzio zure lagunak dira, eta gauzak idatzi duzula utzi dutela leku handia hartzen dute hau oso gutxira, benetan dotorean. Eta hori da, benetan, seguruenik gehiago irakurgarri, esango nuke, C programaren baino han. Ez, izan ere, hain da ez aipatzearren labur elefante osotasunean doi dezakezu espazio hori ere gorde ditugu. Beste gauza bat, hau inplementazio bat da Mario duten dot C, nik uste da laburrena bertan eskuratu ahal izango duzu. Ez du zertan get int du, baina egiten kodeak hard 10 balioa Alde honetan egiten duen modu berean. Bihurtzen duten batean erlojuak honetan 84 karaktere, Python, berriz, 64 da. Eta hau da, askoz ere gehiago Zabor hau hemen baino irakurgarri. Beraz Python da gehiago espazioan eraginkorra. Da apur bat gutxiago eraginkorra denboran, baina ez askoz ere. Zerrendak Python gauza garrantzitsu bat dira. Ez dugu ikusten horiek, baina ez dute arrayak C. egin funtzionatzeko askoz bezala Beraz, hemen, horietako deklaratu ahal izango da, horiek gainditu ahal izango duzu gauza bat da. Orain plazetan dauka bati Gauza horiek sorta. Berriz ere, ez dugu gisa deklaratu mota, baina inoiz saiatu gara, erabili ahal izanez gero, dela espero litzaidake ezer zenbaki osoen array-a egin da lan egiteko joan zenbaki osoen array bat. Hau gauza bat da eta bertan Guztiz ezin duzu C egin, zeren memoria, orain dela eskuetan, baina oso erraza Python egin da. Nire array handiago izan nahi badut, I can elementu bat gehituko da eta fina da. Zer ari da gertatzen eszenak atzean? Interpreteak joango out eta memoria batzuk lortzeko, eta, agian, bat lortuko da memoria estra pixka, beraz, ez dut orain ez daukat aldi bakoitzean idazketa izateko. Baina zenbat eta gehiago memoria du behar? Hau da, ez dira erabakiak egin behar duzula, horiek erabakiak dira interprete egingo. Hemen ikusten dugun bitartekoa bi argumentu, baina oraindik biak barne izango da gora egin du, beraz, 1 gehitzen badiogu ez. Honek hizkera bat, hau da, nahiz bat gehiago da clever honelako gauzak idazteko modurik. Deitzen zerrenda ulermena, eta hemen esaten ari gara da jarri nahi nuke i karratu tarte honetan i balioa egilea da. Eskubideari buruzko gauza hau beste izan liteke array, eta ezkerreko gauza hau Bat bereziki funtzio egoteko ni litzateke hartu aldakor gisa Eta eman zidan egindako emaitza batzuk. Zer egin behar dut da; Eraikitzeko noa array bat hori da, gauza horiek guztiak tarte horretako balio bakoitzerako. Eta hori da super dotorea, super labur, eta oso argi zer esan nahi da. Hau da, bat gauza hau da berriro, of-- bat oso enblematikoa arrazoi Python bezalako jendeak. Programazio nahi baldin baduzu Hau atsegin, orduan Python ikasi nahi duzu agian hizkuntza bat da. Eta berriro ere, badira teknikoa Zergatik egiten du lan. Baina neurrian ari kezkatuta dugun bezala, dugu, gehiago edo gutxiago, ez zaintzeko. Beraz, zerrendak inprimatu nahi izanez gero, hizkerak bera batzuk erabilgarria. Tarte honetan i gero, ezin izan dugu Gauza guztietan zehar indizea eta ondoren, inprimatu zituen guztiak. Eta hemen duzu len ikusiko. Nahi duzun inoiz iritsi bada array luzera du, hori da Python ere oso erraz, Oso zaila da C. Hau zehazki litzateke inprimatu zer espero litzaidake duzu. Halaber, ezin izan dugu, lehenago ikusi dugunez, lerrotan elementu batetik bestera joateko zuzenean, eta, ondoren, besterik ez buruz hitz egin haiek, baizik indizean edukitzea baino Array aldi bakoitzean sartu. Eta hori egin dezakezu gauza bat da. Beraz, C, zerbait eskatu baduzu hau bezalako, inprimatu, esango nuke, duten zenbaki osoen array bat da. Hori da, zalantzarik gabe, ez bat katea, ezin dut inprimatu. Python gehiago edo gutxiago ez zaintzeko. Da bezala, ez dago modu bat dudala honek piztu izan ere kate bat? Bai, hori egin dut. Eta, beraz, besterik ez dut inprimatu dela. Horrek esan nahi du gero Gauza horiek antzekoak egin Atal gogor gehienak hamabost joko, idatzizko Python Oso laburki. Ikusiko duzu, ez dagoela Pixka bat hemen of-- Zenbaki oso bat bota dut, kate bat, eta hori eskuz egin behar dut. Eta ez dut gehitu joan Kate bat da: edo, bestela, Python erabat nahastu. Baina ez zara ala kate bat gehituz zenbaki oso bat, Ni bat lortzeko suposatzen dut osoko zenbakia bizkarrean edo kate bat itzultzen? Baina, berriro ere, nahi izanez gero, besterik gabe, deitu str gauza batean, Eta ezin izan duen Posible da Mundu den kate bat bihurtu da, seguruenik, izango da kate bat bihurtuta. Hemen, erabilera ikusiko dugu nested zerrenda ulermena ezkerretik, indexatzeko batzuk, zein da zehazki zuk erabili behar genuke bezala da, eta zenbait gauza inprimatzeko. Berriz ere, definitu dugu batzuk funtzioak eta horiek egingo dugu deitu nagusian benetan fitxategia lortuko dugu. Bueltan lan egiten du, zehatz-mehatz, Nahi C. Aurki lan egitea espero, bezalako gauzak ezarri dugu sortu Halako hona hemen zerrenda ulermena ez, aldagai bat esleitzeko bat da, eta, egia esan, ez dugu egin ahal izango da, nahiz eta errazagoa. Ez dugu behar bilaketa idazteko, eraiki-hizkuntzaren delako da gauza hori array honetan bada. Egia itzuli, beste itzultzeko faltsua. Beraz, hori da bilaketa-osorik da. Moduko osoa moduko deituz dakar, bertan is-- daude inplementazioak Hori C liburutegi jakin barneratzen. Duzu hau nahi baduzu Sort atzeraka, zuk aukerakoa honi jaramonik ez egin dezakete Argumentu egia batekin alderantzizko. Eta gehiagoko ordenatzeko nahi baduzu kateak, hori eraiki-baita. Beraz, hau ez da horiek direla esatea Egunero egiten behar dituzun gauzak, baina ideia hori ez dela Python filosofia da, bertan, gauza horiek guztiak duzu litzaidake Sort eraiki-ari egin nahi. Eta funtzio estandarrak gehien, beraz, ordenatu, luzera, edozein dela ere, gehien logikoki sensible sarrerako onartzen. Array bat bera deitu len horrela deitzen duzunean, kate batean len. Kateak multiply-- duzu ordenatzean array ordenatzeko modu berean. Funtzio estandarrak gehien Jende eraiki duten, eta hirugarrenen gehien liburutegiek duten pertsonen eraikitzeko, dute gelara ari delako Liburutegi estandarrak diseinuan, izango duzu ari dena deitu daiteke bezala, zergatik ez da hau, besterik gabe, lan, C. ere gehiago edo gutxiago, egingo Python arituko da Jende zifra atzetik ibiliko Gauza bat da, eta, ondoren, funtzionatzeko egokian gainean. Beraz, berriro ere, profil teknikoa, baina Horri esker, gure bizitza programatzaileak gisa errazagoa. Beraz, hemen fitxategia I / O da. artxibatzen I / O asko ditu konplikatuak egiten duten gauza gutxi, eta beraz, ez dira baliabideak online, baina azken finean, open deitu duzu fitxategi batean mota jakin batekin izendatzeko. Beraz, irakurri, irakurri eta idatzi, idatzi edo erantsi. Kopuru jakin bat irakurri pertsonaiak atera eta horiek inprimatu behar dituzu, jasoko duzu Hello! Esan nahi dut, fitxategi hau bezalako izan Hello! Bertan, deitzeko irakurri, eta zer itzuli jasoko duzu Horren katea da gainerako array du, edo fitxategi gainerako guztia. Berriro duzu irakurri deitzen badu, Oraindik fitxategiaren amaieran duzu, eta, beraz, ez duzu lortu ezer eta orain itxi egingo duzu. Berriz ere, hau da .close beharrean hurbil fitxategia, bertan C. izango litzatekeelako Hau da, gehiago edo gutxiago f delako bat Gauza, eta gustatuko litzaidake zuretzat f ixteko. Baina oinarrizko fitxategia I / O, ez da bereziki zaila. Berriz ere, fitxategi bat ireki nahi izanez gero, bada lerro jakin bat irakurri nahi duzu, Bereziki ateratzeko ditzakezu lerroan ez dagoela eraiki-in da. You bat idatzi nahi baduzu Gauza, hau idatzi ahal izango duzu. Banakako egindako idatzi nahi baduzu ziztadak, horiek idatzi ahal izango duzu. Eta batetik bestera joateko nahi izanez gero fitxategi batean ildo zehar banaka, pieza bat egin genuen bezala Duela aste batzuk, hori egin ahal izango duzu. Berriz ere, objektu gehien duzula litzaidake zehar batetik bestera ahal izatea gustatuko laguntza horien gainetik errepikatzean. Pythons, fitxategi bat da, agian, gauza bat dela Lerro batetik bestera joateko, lerroz nahi nuke. Hiztegi bat izan zen bada Hitzen, eta nengoen banakako horiek lortu nahian Hitzak eta, ondoren, begizta honen barruan, lerroa da egin behar izango da txanda eta hau ere, hitz bakoitzaren lerro bakoitzean gauzatu joan fitxategia bukaera arte ere. Eta berriro ere, inprimatutakoak dut bakoitzak badu lerro, lerro-lerro berriak dakartzate, beraz, azkenean dut ezartzeko honen antzeko gauza bat itzuli. Orduan, nire fitxategiaren edukia nuke. Horren bidez funtzionatzen Bigarren gauza zerrendak bezalako Nolabait, eta, nolabait, Zerbait nabarmen gisa ahaltsuagoa, hiztegien dira, dira benetan cool erabili, baina, funtsean hash mozorro en mahaiak. Bat-mehatz erabiliz zuk Bi pertsonaia, hau da, awesome ezartzeko ahalegina eginez gero Zure arazo multzo taula hash, min ematen duten ahal izango badakizu. Baina pertsona batzuk egin da, eta hori egiten da, beraz, bai, ez duzula behar kezkatu gehiago. Gero gauzak banakako txerta dezakezu. Hash tables-- edo hiztegiak ez da bereziki zaintzeko zer haietan duzun gordetzeko ari. Beraz diren zenbait zenbakiak badira, eta zenbait sarrera-zerrendak daude, sarrera batzuk beste hiztegiak badira, eta sarrerak zenbait kateak dira, Python ez du axola handirik. Berriz ere, bertara joan behar da espero bada Kate bat, eta zer itzuli duzun Array bat da, hori zure arazoa. Eta agian duenarentzat errua da pentsatu jasotzen ari zen hura Hiztegian, agian, hori izan zen. Hori izan zen norbait bada Bestela, espero ziren ondo zertaz portatu zen Hiztegian joan eta ez zuen inolako pitfalls utzi to you erori da. Baina funtzio estandarrak izango ematen duzu atzera ondo portatu gauzak. Beraz itzultzen hau esan dute hiztegi bat atzera kateen, gero, dena bazoazela ra ateratzeko katea da. Honen batzuk egin behar duzu, eta hura bidaiak bada nahi izanez gero, bai, baliteke duzu izango. Python zalantzarik ematen dizu enough Soka yourself zintzilikatzeko, gustatuko litzaidake baduzu. Orain banakako inprimatu ahal izango dugu honen elementuak eta itzultzen honetan zehazki zer espero duzun. Zehazki, zer espero duzun, asmatzen dut, hori asko erabiltzen dut esaldi bat da, baina hori gehiago edo gutxiago Python eginkizuna. Gauza bat eskatu duzu eta hori ez bada da, Python bota egingo Akats baten eta zuk irten kanpo egingo da programa edozein dela ere zinen. Benetan, inprimatu Hori baino informazio gehiago, seinalatu zu bertan egingo da egingo lerro bat gehitu, eta beraz. Eta, berriro ere, agian nahi dugu hiztegiak zehar batetik bestera joateko eta bertan gauza guztiak aurkitu. Hemen baino gehiago errepikatzean ari gara Bi gauza aldi berean. Eta, beraz, ez dugu gako bat, balio du, Baina gero horiek guztiak inprima daude. Eta cast-- nahi badugu ran benetan hau bagenu, Arazo batzuk duelako izango genuke on-- denean ere joan ginen David batera, Ezin izan da add-- ez balu dugu bota zuen kate bat lehenengo, ezin izan dugu array hori gehitu kate baten gainean kateak. Baina Bota bada bat dugu katea, zerbait lortuko dugu Hau atsegin hau da, agian, zer nahi genuke, irakurtzeko. Eta hau Speller da. Gauzak ere irakurri besterik ez dugu. Beraz, irakurri ahal izango dugu Hitz eta lerro gisa. Off txikitu dugu azkenekoak gauza, beraz colon ken 1 badugu duten azken gauza chomps off kate baten azken pertsonaia. Egingo dela esan genezake. Ados, horietako bakoitza lortzen Hiztegi hau txertatzen 1 balioa emateko kartografikoa. Ez dugu bereziki inork guri, baina besterik ez da esaten, oi bai, gauza hori izango hiztegian jarri dut. Geroago garelako joan egin da gaude erran nahi baita, Balitz joan Hiztegian batere. Berriz ere, kontrol-honentzako Funtzionamendu da ireki guztiz desberdinak erabiliz algoritmoa zerrenda batean baino, baina, modu berean, dei egiten dugu eta horrek Python Grageak duten batzuk Gauza da, beraz, errazago erabili dira. Eta berriro ere, ikusi dugu hau bezalako gauzak aurretik. Hau da, funtsean, aurkitu da, edo zehazki sintaxia bera da aurkituko, baina ez dago bat baino jarduten egitura erabat desberdina. Eta ez da bereziki zaintzen dugu. Beraz, horiek dira gauzak zuek eskatu zitzaien Speller ezartzeko. Tasa hori, zu iritsi garen gehiago edo gutxiago egin Psets. Ikusleak: Beraz, funtsean, besterik gabe bueltatzen bezain gaizki idatzita ez bada Hiztegian zerbait etortzeko? ROSS RHEINGANS-YOO: Bai, bai. Eta, beraz, hau da Arazo baten egokitzapena ezarri bertan, zehazki horretarako eskatuko du. Ikusleak: Zergatik ken 1 han lerroan? ROSS RHEINGANS-YOO: So denean errepikatzean zu fitxategi bat eskatuz baino gehiago lerro moduan, lerroak lerro pertsonaia berri bat etorriko it minus 1 errepidea bukaeran da besterik horiek erosteko asmotan. Eta hau da, batez ere malgu bat Gauzak sartu indexatzeko modu. Beraz, kate bat baduzu, eta gustatuko litzaidake, ondo nago den pertsonaia hiruretan hasiko da eta amaieran joan noa. 3 colon hori egin ahal izango duzu. Oraindik bezalakoa bada, hemen hasi nahi dut hasita eta azken ken 1 joan pertsonaia, bi puntu ken 1. Eta aurrera joan nahi baduzu ken hirugarren lehen, gero esango zenuke 3 ken 1. Gainera, indize nahi baduzu Gauzak atzera hasita sartu, indizea besterik ez duzu ere ken zenbakiekin. Eta, izan ere, non C lehertzen ziren edo, agian beste memoria ez duzu behar elikatzeko , entzuten sarbidea esan dezakezu ken 1 azken baina 1 esan kate bateko pertsonaia. Moduluak dira version-- dira C liburutegiak to analogs eta gauza asko erabilgarriak dira. Gauza asko dituzu to Python egin nahi, simple gain aldagai manipulazioa, ra sartu lotu nahi dituzun handiago batera liburutegiak handiago interfazeen eta gehiago elkarreraginean gaitasuna munduko beste leku batzuetan. sys horietakoa da Tresna sorta batekin Hori elkarreraginean erabilgarriak dira sistema bera eta inporta izango inportazio sys bezala. Ez da, dokumentazio gehiago , hots, hemen joan izan, edo Google aurkitu ahal izango duzu Python sys googling arabera. Idatzi duzu sartu. Lehenengo lotura izango da Python 2 dokumentazioa, Bigarren lotura da joan dokumentazio Python 3 izan. Eta bada hori begiratu fitxategi batean egindako idatzi dugu Halako bereziki bada bezalakoa, ez gara eragilean begira komando lerroko argumentuak, atsegin Oso egiten ikasi dugu goiz saio hauetan. Hau ez da zaila. Ateratzeko dezakezu argv, hau da, gauza bat hau da sys ezarri. Ez da eraiki-to oinarri paketea, baina berriro ere, luzatu ahal inportatuz funtzionalitate sys from. Izango da sys deitu. edozein dela ere. Hemen ez dago argv. Ez, egia esan ez argc sys ere, duzulako hain erraz lortu len deituta. Gero inprimatutako dugu horretaz, orduan dugu Gure terminal echo-args.py ran. Itzuliko gara array bat, eta horrek Lehen argumentua hau da. Berriz ere, hau da, argv 0, hau da, izeneko got gauzaren izena. Guk deitu gehiagoarekin bada argumentuak, horiek lortuko genuke atzera. Hau lortzeko modu bat da komando lerroko argumentuak. Non piztu duzu banderak nahi baduzu edo ezeztatu gauza partikularrak default jakin bat, argparse zure laguna da. Eta berriro online duten aurkituko duzu python at Google at argparse. Ez dago utility pare bat erabiliz, zeure burua aurkituko duzu moduluak eta berriro, edonoiz pasatzeko baduzu hizkuntzan hau jsons inportatzean eta irakurtzen json kanpo fitxategiak, ez dela zaila. Ireki fitxategia, json.load izeneko duzu fitxategia hartan eta itzuli duzun gauza bat. Zer da gauza hori? Json objektu bat da. Non json array ditu, Python du array du. Non json duela elkarte multzo, Python-en hiztegiak, kateak, eta zenbakiak, eta abar. Hori irauli out, zuk nahi duzuna ireki, fitxategi berri bat, dump deitu, eta karga eta zabortegiak den joan eta kateak daudelarik. Era berean, pickle lortzen izeneko funtsean interfaze berean. Da erabilgarriago bada Python objektu botatzen aritu zaren. Beraz Nahi duzun inoiz bada gorde Gaur egungo status bertsio bat Etorkizun bat aldagai baten zure programa exekutatu, pickle da Python-en hori egiteko liburutegian. Edozein moduko badaukazu idatzi dezaketen egindako aldakorra bezalako hitzak eta pertsonaiak eta in byte hiztegi hau bezala, idazteko genezake, dugu bertan idatzi ahal behera json objektu bat, izan zen bezalakoa Pertsonaia horiek literalki. Eta gero, oso erraza izango litzateke Giza a up-- zabalduko da ireki eta irakurri. Ez genuen bada bereziki gizakiok irakurtzen zaintzeko, gehiago eraginkortasunez nahiz pakete genezake zezakeen geroago deskonprimituta inprimakietan edo geroago puztu daiteke. Eta honen guztiaren% 80 aurrezten Espazio zure objektu agian hori hartu itzazu idatzitako egindako longhand bada. Pickle deitu asko Horrekin Modu iraulketa, karga, eta, ondoren, zure gauzak jasotzen da trukean. Beraz, zuk oso idazten ari bada Python programak laburrak Estatuko gorde nahi, eta gero irakurri atzera horiek geroago, honelako gauzak Zure lagunak dira. Oso ditzaketen duzu erraz irauli horiek json bezala. Python objektu bota dezake json du Ba al dago itxaropenik bada egituraz dute irudikatzen litezke era horretan. Hauek dira, punta iceberg baliagarriak diren moduluak on. Beraz sys, os, multiprozesu, dira Gauzak egiteko oinarrizko workhorses moduko elkarreragin behar dugu fitxategi-sistema os., atsegin os.isfile, os.isdirectory, os.makefile, horiek zure lagunak dira. Elkarreragin nahi baduzu Aukera hori fitxategi mota jakin batekin, json, pickle, csv. Batera web elkarreragin nahi baduzu orriak, lortzean urllib http orrietan. bs4-- BeautifulSoup-- html for parser zoragarri bat da. Egiten itsatsi eta zuk exekutatu duzu lortu nested array objektu hau orain, horren gainean zeharkatuko ditzakezu Lookin, esate baterako besterik bila da, eta hori zoragarria da, bada. Ez dago sorta bat da running-- paketeak mathy gauzak bereziki egiten da. Beraz biderkatu nahi baduzu, inbertsiorako, matrizeak eraldatu, numpy jende guztia erabiltzen dute horretarako, mundu osoko. scipy are gehiago erabilgarria da norabide horretan tresnak. sklearn-- ikasketa automatikoa, Hizkuntza naturala prozesatzeko, super gauza erabilgarri, lortzen Python-en garatuta denbora guztian. Eta berriro ere, hartzen du apur bat luzeagoak Sentitzen write-- den, hartzen apur bat luzeagoa da exekutatu, baina Arrazoia benetako ingeniari joera erabilera Python da izan ohi duzulako you blokeatu Kodea idazten, baizik eta Zure ordenagailua baino Kodea martxan. Beraz, zu bat idatzi nahi izanez gero programa, beste pertsona asko erabili duzuen betiko, Linux, zu bezalako bertan idatzi liteke C. bazina konputazio motor bat idazteko joan, Python dezakezu idaztea beharrezkoa denean dela hilabete pare guztietan aldatzeko. Batzuek idatzi litzateke C horrelako ari delako. Beraz, inportazio sys ikusi dugu Gauzak lortzeko modu bat bezala zure programa modulu lortzean. Ere egin dezakezu bezala inportatu goitizena, baduzu gustatuko litzaidake. Berriz multiprozesu mina da Idazten egindako aldi bakoitzean, beraz, diputatu inportatu eta, ondoren, edonoiz duzu erabili da programan, mp.process esango duzu, edo zer egin behar duzu. Nahi baduzu inportazio soilik gauza bakar bat, beraz izeneko gauza bat urllib ditu eskaera, eta, beraz, besterik gabe dezakezu inporta duten. Geroago, ez duzu deitzen dioten bezala urllib.request, baina besterik eskaera berak. Eta dena inporta dezakezu modulu bat nahi izanez gero. Hau da, noizean behin, ez ideia ona Normalean ez da ideia ona da hau, egia esan. Very-- ezer bada duzulako delako modulu hori beste izen bat duzula beste nonbait erabili nahi programan, ezin duzu. Eta ez da beti begi-bistakoa hori, eta gertatzen da. Ordena ziur ere seguru zer egiten ari zinen zen, ireki behar duzu modulua eta ikusi guztiak izenak amaituko in osatzen duten han funtzio guztiak, aldagai guztiak modulu horretan bizi, guztia ekartzen ari duzulako Zure tokiko Izen-tarte horiek. Beraz, pertsona hori egin. Gomendatzen da ez duzula egin. Baina jendea ez da hori guztia denboraren dira ari delako alferrak eta ez idatzi behar izan mp nahi. ezer, betiko. Moduluak buruz hizketan ekarri nire inguruan eztabaida labur bat Python programak diseinatzeko duzun. Lehen urratsa da bada ikusteko egiaztatzeko beste edonork egin du dagoeneko gauza, edo gauza guztien% 90 egin. Aukerak dira ziurrenik dute, eta zuk bere gauza eta ihes egin duten joan behar. Edo idatzi bere inguruan Wrapper egokitzeko Zure helburua da. Besterik ez da hori du ondoren Huts egin du gero litzaidake duzula joan eta write-- pentsatzen hasten Gauza hau nola jarri nahi duzun elkarrekin. Ez da gauza asko daude, eta hori da, erabilgarrienetako bat Python buruzko gauza. Like Hizkuntza dotore, hizkuntzaren erabiltzeko erraza da, baina, aldi berean, zeren hain dotore eta erabiltzeko erraza da, pertsona izan dira erabiliz batentzat luze denbora eta ez dago gauza asko da han ahal duzun, zure erabilera propioa ustiatzeko. Beraz Python azken arau, norbaiti da bestela dagoeneko ziurrenik idatzi du Hori modulua, beste norbaitek ere dagoeneko seguruenik liburutegi batean idatzita dagoela da. Gauza bat egin aurretik, begiratu Honez aplikatzen ote diren ikusi. Ez da zaila dela. Moduluak berriro ireki jarri nuen guztia aurretik, agian, salbuespen batekin, Heldu guztietan aurrez instalatutako Python instalazio estandar. Eta dei batekin orain inporta edozein izanda ere, zuk funtzionalitate guztiak izan zure esku. Itzulbiratu honen hasieran eztabaida, badira zenbait gauza bat kutxa beltzak bezala dudala utzi ditiat Eta Sort glossed, eta ez da gutxi zuri bat dago dut hori esan zintzotasuna mesedetan dela, Gutxienez puntutan egingo dut Hemen, ez dut, nahiz eta joan super sakona horiek guztiak sartu eta beraien azalpenak teknikoa. Gauza asko duten magia deitzen dut zer beste pertsona deitu litzateke objektu bideratutako programazioa. Beraz, ez dira gauza asko beraz, aldagai oso sarritan ez dira byte simple eserita, memoria, baina ez dira oso konplikatuak barneko objektu funtzio eta asko inguruko egoera aldagai ezkutuak, asko ezkutuko funtzionaltasuna uzten ez dieten buelta kateak sartu behar dituzu, horrek aukera ematen dizu, haien gainean batetik bestera joateko. Eta zuk writing-- ari bada dituela eta arrazoia funtzionalitate aberatsa hori guztia dute jende delako arkitekto Hizkuntza joan dira bidez eta estandar bakoitzean objektu, funtzionalitate jarri hau da, nola hau da esatea nola hau da, funtzionatu ahal izateko joan Norbaitek nahi da batetik bestera joateko, nahi badu. Beraz, dena dela, norbaitek agian seguru zehar batetik bestera nahi, ha logika idatzizko eskuz nola ari zaren ustezko objektu hori baino gehiago batetik bestera. Seguru baliteke den guztia Kate bat isurtzen ditu logika idatzita. Hau deitzen baduzu duten funtzioa da hau irauli out kate bat egin nahi duzu. Hori dela eta, ezin duzu deitu len gauza on, hau eta horregatik eman dezakezu deitu, hau da zergatia bada ere dena deitu ahal izango duzu duzula litzaidake nahi, zeren guztiak dira haiekin liburuetako horiek, diren ezagutza teknikoak egin ahal izateko. Hau dela naiz zerbait da super ez den sartzen joan. Baina zerrendan gauza bakarra da fin C begiztak estilo desberdinak, eta on guztiak horri buruz irakurri dezakezu Interneten interesatuta bazaude. Ez dago alde iluna da guztientzat hau da, aipatu dut, beraz, bi gauza egin. Lehenengoa da objektu hori bideratutako programazioa gardenki asko gehitzen ausazko gauzak, eta, beraz, azkenean duzu eman memoria askoz gehiago erabiltzen; azkenean, gehiago apur bat erabiliz bestela egiten duzun baino denbora. Other-- The baina gehiago Maltzurrak honen alde iluna da, gauzak besterik jokatu behar badu atsegin horiek nahi duzun gabe super gogor pentsatu beharrik duzu hau int bat izan ala ez edo ba ote bat izan behar du karroza, hemen baino gehiago izan daitezkeela da Int bat sortzen duzu haatik, hemen duzu Uste baina barkatu, beti egingo dute, Hemen ere izan liteke mugikor bat sortzen duzunean, baina denean lortu du bigarren zatian duzu Zure programa, pentsatzen ari zaren, oi bai, baina egingo dute Beti pasatzen me int bat. Eta ez badute, posible da nonbait hertsatuago duzun hori, hori erabili indizea saiatzen bazara array batean, edo zer egin behar duzu. Beraz, benetako bat erabilgarria gauza C ingurukoa da behartzen du benetan pentsatzea any-- egiteko gogor aurretik Edozein aldakorra ekarri aurretik existentzia sartu, like zer aldagai horren mota da. Eta hori da egin behar joan garai guztietako mota hori. Hau ez da egia Python, eta hain zuzen ere, zuk can-- ari bazina Sort belarrian by joan eta erabaki batzuk egin behar dituzu Modu batean, leku batean, eta erabaki batzuk bat Beste leku era nahikoa stuff atzean jarri gabe Beste leku eszenak Gauzak behar bezala harrapatzeko, zuk errores oso arraro batzuk. Eta programa martxan gorde dezake oso denbora luzez, delako lan asko egiten ari, esan nahi baita Gauza hau era honetan jarduten du, beraz, naiz, era horretan korrika noa. Eta hain zuzen ere, izan ere, bultzada akatsak txikiak asko baten bidez helaraziko esan nahi du, askotan denean akats bat dela benetan txarra eta ez benetan konpondu nahi duzu, eta ondorioz mila programaren away-- ondorioz sortu mila gelditu kanpoan zure error izan duzu. Eta beraz, gauza bat nahi genuke egin programak, batzuetan gauza bat duten programak nahi genuke arazketa ari gara egin da huts egiten ozen eta huts oso Azkar zerbait oker. Python dela oso txarra. Python da oso, ez da batere ona Huts egin du eta aurrera gogor ustegabeko gauza bidez. Beraz, hau da, baliagarriak programa txikiak idazten dituen. When konplikatuak lortuko duzu bugs, batzuetan Denbora luzez, horiek aurre egiteko hartzen. Beraz, ez dago alde iluna da dena hau da, funtzionatzen duen bezalaxe. Lan egiten du, besterik ez da zuk espero litzaidake bezalakoa da. Hori gertatzen ez denean, amaituko duzu ezik erabat ezberdin leku eman eta irudikatu non saiatzen Oker joan zena izan zen. Zabor bilketa is-- orain Gauza bat dela nabarituko duzu da gauza horietako edozein dela Existence-- Nik ekarri sorta hauek, hiztegiak horiek, horiek objektuak, horiek files-- inoiz libratuko. Ez zegoen dei no Hitzaldi honen edozein ere doan. Eta hori da C-aldean izan zen, izan ere, Gauza horiek sartu inoiz ez dugu lortu. Baina Python-albo batean, ez dago ertzean. Gauzak automatikoki lortu libratuko denean Python pentsatzen ez duzu horiek ikusten ari zara. Ez da benetan ona gauza askatzeaz dagoela duzu agian oraindik seguru egon begira, baina horrek esan nahi du ez bazina gauza handi hau esleitu joan, eta ari, adibidez, ai duzu Harekin egiten dut orain, zaila da Python kontatzeko Berarekin duzula Bukatutakoan orain. Batzuetan ezar daiteke aldagai hori ere ez izan, eta, ondoren, espero azkenerako zabor biltzaileak bidez dator eta garbitzen dira. Baina, berriro ere, ez duzu Hori gaineko kontrola. Eta arrazoi bat pertsona erabiltzen duten C benetan performance gauza kritikoa, gaitasun hori dela benetan Badakizu memoria esleitu denean Eta noiz egin askatua da, eta behar kontrol asko esaten duena baino gehiago, Erabiltzen dut memoria gehiago ez behar baino nuen. Zein zerbait dela Python ez da handia at. Publikoa: Ezin duzu galdera bat egin dut? Zer egin zuen huts egin ozen esan nahi duzu? ROSS RHEINGANS-YOO: Beraz, zerbait gaizki joan eta ari arazketa duzun modua, oso maiz egiten duzun Nahi zure programa esango dizu non zehazki, joan oker, eta ez besterik gabe, lasai gelditu martxan. Baina, egia esan duzuna inprimatu Informazio mota guztietako buruz egindako bezala, hemen izan zen hau. Gauza hau gertatu inprimatzeko ari bada duzun web zerbitzari bat exekutatzen ari bazara wen-- bat Ikusleak: [INAUDIBLE] ROSS RHEINGANS-YOO: Bai, bada Web zerbitzari bat exekutatzen ari bazara, batzuetan txarra da bazaude Beti-akatsak baztertuz, eta, esaten ari zaren bai, ez zuen ondo funtzionatu. Gelditzeko noa. Besterik ez naiz ez ikusi joan on da eta mantendu egingo da. Izan ere, orduan ere ehunka lortu dezakezu Akats horien eta ez ikusi. Zalantzarik gabe, izango litzateke baliagarria helburuetarako arazteko aldi bakoitzean zure web zerbitzaria egin bada bat error, hori erregistro iraunkorrak izan duzu. Agian, nahiz eta programa nahi duzu gelditzeko, eta, beraz, erregistro horiek ez get gauzak azpian. Baina, berriro ere, arazketa modua ere ez da. Askotan ekoizpen moduan, Mundu apur bat desberdina da. Eta hori exekutatzen ari naiz gidoiak txiki-txiki batean, non gauza egin esan nion Pixka bat bakarrik off izan liteke zer egin ezazu nahi dut, Orduz Sort bultzaka bidez erroreak agian nahi duzun zerbait da. Eta, kasu horietan, zalantzarik Python benetan bere hasten irabazten. Azken gauza, baina ez dut hitz egin Halako hartan ez nuen buruz hitz egin baina benetan lehena infuriating izan daiteke denbora, akats horietako bat egin behar duzu, eta bigarren eta hirugarren eta laugarren time akats hauek bat behar duzu. Python, aipatu dudan espazio zuria erabiltzen du duzu zer koska maila kontatzeko eta zer funtzionala bloke Oraindik ere, fitxak eta espazio tratatzen da ezberdina. Beraz, zuk fitxan lau baino gehiago izanez gero, eta, ondoren, hurrengo lerroan lau espazio ditu, agertuko dute gisa bada ere Editoreak ere kopuru bera, Python ez du horiek tratatzeko bera. Izan ere, Python tratatzen tabs eta olioa, eta ura bezalako espazio. Gauza ezberdinak dira. Ez dago bereziki no luzera fitxa bat da, beraz, ez da bezalako fitxa bat berdinen 8 espazioak, eta beraz, bere inguruan lortuko lituzke era horretan. Atsegin dut, esaten denean, zer espazio zuriak at nago maila, benetan da baten bila espazio eta fitxak eredua. Eta beraz, modurik onena horri aurre da espazio beti erabili denbora guztian. Eta hain zuzen ere, Cloud9 batean IDE eta CS50 IDE, Zure tabuladorea txertatzen Lau espazio ordez batean fitxa bat, hau da, super baliagarri. Berriro arren, Python sarrera bat idatzi baduzu ondo egongo litzateke fitxa dituen programa, da bakarrik bada norbaiti joan eta saiatu gehitu Zure programara lerro bakar bat dagoela lau espazio izan fitxan bakoitzean, hautsi egingo zela. Eta bide batez luke hautsi benetan ez da ikusgai. Benetako error nahiz Mezuaren botatzen duten berriak egin ditu koska, ez hemen espero, or-- da koskak buruz hitz egiten ari bada eta badirudi oker bezalakoa da, seguruenik ez delako tab-espazioa arazo bat da. Debug oraindik ere infuriating ari. Osoan Handiena Hitzaldi honetan, horrek ez nuen da benetan delako lortu korapilatsu bat, sotila gaia, eta ez zen edozein egiteko beharrezkoa orain arte egin dugun gauzetako, tuplen izeneko kontzeptu bat dira. Ez askoz bezala dira Hori ezin duzu aldatu array. Delako leku baino gehiago eskuratzeko erabiltzen ziren denak erabilgarriak dira gauza asko egiteko hori array ez dira baliagarriak. Baina nahi izanez gero array bat egiteko, eta orduan agintzen interpreteak ez duzula ez dira inoiz hori aldatu nahi joan hain zuzen ere gauza, aldatu nahi izanez gero, berriarekin batera, beste bat egin duzu it horietan balioak tuplen dira. Baizik ekoizten baino horiek parentesi karratu, horiek sortzen parentesi txandan. Zergatik gauza horiek erabili beharko duzu, Galdera bat pixka bat da. . Hori ez dut bakarrik Gauza esatera dela zuretzat tuplen gisa erabili ahal hiztegiak indizeak. Ezin duzu bezala array erabiltzea hiztegiak indizeak. Eta zergatik ez da, berriz ere, tekniko eta Ez dut sartu exekutatu. Pset dela ez dut tocado eztabaida honetan on pset6 da. Hortaz, hona hemen nola 'd duzu ezartzeko a-- hona hemen pset6 zenbat ezartzea litzateke Python ere. Kontuan Python mantentzea diseinu zikloa, lehenengo gauza egiten duzula zaudenean Programak check da Norbait Jadanik da bada ikusteko. Izan ere, hala nahi baduzu Apache 50 serve-- den duela gutxi gorabehera hau, ezik ez da etorri standard Linux makinak instalatu. Python egiten du, eta Python http simple zerbitzariak hau baita. Oraindik duzu inoiz bada Linux makina batean, edo Cloud9 IDE CS50 kanpoaldean eta egungo honetako zerbitzatzeko nahi duzuna portu jakin batera direktorioa, python-m SimpleHTTPServer portuan jarduten duten. Zuk ere inporta dezakezu http simple zerbitzari eta funtzio asko bada lortu da pertsonalizatzeko, edo aldatu nahi baduzu, edo exekutatu it it ustiatzeko Egin zure zerbitzari zerbitzuak exekutatu. Beraz, hori da Python Hitz batean. Eta hau CS50 izan da. Eskerrik asko.