ROSS RHEINGANS-YOO: Tere, ma olen Ross. Ja see on CS50 seminar. See viib teid programmeerimine C programmeerimine Python. Python on skript keel. See on suuresti nagu C süntaksis, kuigi mõned tehniliste üksikasjade kuidas see süntaksi saab täide on veidi erinevad. See on vähem võimas kui C mõnes mõttes. See on vähem väljendusrikas eest kus täpselt arvuti mälu saab ette välja, kuidas ta saab sätestatud, kui ta saab vabalt ja neid erinevaid asju. See on kasulikum kui C mõnes mõttes sest see on lihtsam programmeerida. Keel on, et mõned inimesed, intuitiivsem. Ja tõesti, eesmärgiks on see oleks kiirem programmeerida ja potentsiaalselt aeglasem täita. Nüüd, kui sa arvad aega sa veetsid oma viimase Probleem määrata kirjalikult oma koodi vastu aega veedate Teie viimane probleem määratud täidesaatva koodi, sa ette kujutada, et keel mis oli kaks korda nii kiiresti kirjutada, ja kaks korda aeglasem täita, võib olla parem kui C mõnes mõttes. Kindlasti, kui sa üritad kirjutada väikesed programmid teha vähe asju, Python on kasulik keele valik. Ja lõpus see seminar, ma loodan, et sa oleks võimalik teha valik tulevastes projektides millest keel on õigesti kasutada ja mitte idee et üks keel on rohkem parandada kogu aeg. Mõned asjad, mida Seminari on. See seminar ei ole ette nähtud õpetavad teile Python nullist. Python on väga sarnane C, ja ma oletan et sa oled CS50 õpilane või keegi sarnase tuttav C. Kui oled CS50 õpilane ümber problemaatikast 6, Nii et olete näen palju asjad C, ma annan sulle suuri erinevusi, ja mõned asjad et teha Python erinevat ja eriline ja kasulik aga ma ei kavatse minna mida programmeerimiskeelt on ja kuidas kirjutada programme. Kuid see seminar õpetab sa kirjutada Pythoni programmid kui sa oled üks neist vähestest rühmad. Jällegi me vaatame, kuidas siis oleks rakendada psets-- mis peaks olema 1-6 Python-- ja annab viiteid et ametlikud dokumendid edaspidiseks alles. Teine asi, mis on oluline kuidas see jutt on määratud, see video on online, viisakalt CS50, nii et sa ei pea tundma nagu te peate tegema märkmeid. Te võite alati minna tagasi ja vaadata seda hiljem võrdluseks. Lisaks slaidid Hetkel on saadaval selles kohas, mis peaks võta sa Google doc. See on veidi lühendatud versioon mida ma näidata ekraanil. Üks ettevaatlik hoiatus enne me hüpata, Python 3 on teine ​​keel Python 2. Nad näevad palju sama; seal on tühised tehnilised erinevused mis paneb programmid kirjutatud Python 2 ei saaks teostada Pythoni 3 keskkond. CS50 aparaat kaasas Python, vaikimisi kasutab Python 2. Saate vaadata seda kirjutades oma käsurida python version, mis peaks väljund 2.7.6 praeguse seade. Proovige Python 3, mis teeb töötada seadme kui Python vaikimisi 2.X.Y, kas seadme või oma masinaid. Sa peaksid asendama Python 3 ajal Selles rääkida, et ma kirjutan Python. Kui seade on töötab 2 vaikimisi tüüp Python 3 selleks, et oleks võimalik tegelikult jälgida mööda ja täidab neid asju. Lisaks, ma juhtida teid ametlikel ressursse nüüd. docs.python.org/3--~~V ettevaatlik et see on 3 ja mitte 2-- on kasulikke viiteid. Treening viib teid läbi palju samu asju mis ma teen nüüd, peale teksti kujul. Viide on kasulik Viide keel, ja Standard Library annab Teile mõned laiendused lisafunktsioone. Nii väga esimene Python programmi. Vasakul on meil standard C, Paremal on meil Python. Sul võib olla tunnustatud Selle probleemi lahendamiseks on üks esimesi probleemi telerit CS50 ja nende lahendada kasutades sama lahusega. Nüüd, põhjusel, et me oleme vaadates neid kõrvuti on, et saaksime vaadata süntaktilise erinevusi. Üks elevantide toas et te olete märganud, õigus Kohe, on see, et Python ei ole Põhiülesanne ümbriste ümber koodi. Nii C, siis kirjuta kamp failide siduda need koos, ja programm käivitub täidesaatva selles asi nimega int main. Python, sa kirjutad esitada teile, käivita fail, programm käivitub täidesaatva ülaosas faili. Nii see läheb, et alustada ülaosas faili minna kuni ta leida midagi muud. Kui ta leiab funktsiooni definitsioon, see tegelikult ei täita selle koodi, see lihtsalt määratleda funktsiooni. Aga siin, kui esimene Programm on n võrdub 10, Esimene asi, mis selle programmi teeme on see väärtus 10 ja kehtestada see muutuja nimega n. Rääkides, et joon, üks teiste things-- sorry-- seda tähendab, et C programme, saate kirjutada neid, saad teha neid, mis tugineda mõned rõkkama käske, ja siis sa jooksed tulemuseks käivitatav. Python programmid, sa jooksed Teksti file-- see mario.py might olla see fail, mida ma just näitasin sina-- saate käivitada see faili ja saate täita, ja sisu see viiakse by Pythoni interpretaator. Seda saab teha teie IDE. Nii et kui mul on Tere faili mis lihtsalt on selline sisu. See on tegelikult Python 2, ei Python 3, nii et ärge muretsema süntaks nüüd. Aga ma joosta Python kohta hello.py, ja see töötab. Teine võimalus, et ma ei kasuta Python, et Ma ei käsitle niivõrd see jutt, on siis, kui ma lihtsalt kirjutada Pythoni, siis langeb mind keskkonnas, kus Ma ei sööda seda Python rida-realt. Nii et siin, kui ma kirjutada print ruumi "Hello, world". Enter. See sülitada mulle, et tagasi tulemusi et üksikute line kohe. See on võib olla kasulik. Selles ettekandes teen asju slaidid. Ja nii on sul võimalik jälgida mööda kas siin või kirjutades tegelik failid ja seejärel täitev neid. Tulles tagasi selle kood, teine ​​asi et siis võib-olla noticed-- hästi, seal on kaks asja, mida võiks märkad neid plokke. Esimene, pigem Ilmalik, on see, et Python ei trailing semikooloniga. Puolipisteinä on vabatahtlik kõikjal ja kahjutu kõikjal. Te saate lisada neid. See võib kaasa tuua inimeste, kes kirjutavad Python elatist Hihittää sind selja taga, sest nad ei ole vajalik. Nad on sageli märk, mida hoitakse C. Disainerid keel tunnen, et see on selgem niimoodi ja et see ei ole vajalik kuulutada Iga kord, kui sa lõpuks joon. Teine imelik asi see n see ei ole tüüpi külge. Üks magic tükki Python-- ja ma lähen kutsun seda maagiat, kuid on väga Tehnilistel põhjustel, miks ta works-- üks magic tükki Python on see, et muutujaid saab laiendada või kahaneb sisaldavad iganes andmed tüüpi, mida tahaks neid. Seega on see 10. Kui hiljem maha ma sihtotstarbelisest n 0,5 kuluks, et 0,5. Ükskõik, mis see on int siin float seal midagi, mis kasutab seda n on rohkem või vähem, on võimalik Säksättää mööda, kui ta saab kumbagi neist. Kui seal on mõned väga reaalne Põhjus, miks ta ei saa kasutada andmete kirjuta, et n on praegu, misjärel see jõuame kiilukujuline ja viska viga, ja seda sorti asju. Aga siin, Python tegelikult ei huvita, mida see on see, et ma lähen jääda selles lause, nagu soovite seda asja? See asi on? Jah, see on selline asi. Ma jään selle aasta lõpuks. See oleks probleem hiljem, kui keegi, kes soovib kasutada selleks ei saa sellega hakkama. See on üks peamisi erinevused Python ja C mis hõlbustab kirjutada väga suur C programmid ja lihtsustab kirjutada väga väike Python programmi. FOR süntaks ei ole väga erinev, mida ta teeb. See on veidi teistsugune kuidas see väljendatud. Nii et see on väga, mida nimetatakse Pythonic, kuidas kirjutada seda. for real vahemikus (n), see on erinevaid numbreid 0 kuni n, kaasava põhja ja eksklusiivne peal. Seega on vahemikus 0 kuni n-1, milleks on täpselt C kood teeb, välja arvatud see on palju lihtsam vaadata ehk. Vastavad plokk on ei tasaarvestada traksid, asemel see maha mida see taandus. Nii et kõik need read Nelja ruumid üle paremale, või meeldib elevant laius. Ja need on need, mis on läheb täide selle eest. Kui ma segi ajama taandus ja ma push et print tagasi originaal taandus, et print jätan silmus. Erinevalt C, kus siin ma tegelikult vaja minna, et suletud traksidega ümber. See tähendab, et sa ei saa vigu et välja hüpata, sest te pane traksidega vales kohas. See ei tähenda, et sa vead et välja hüpata, sest te liigestatud rida valesti. Nii et see teeb süvendid super ettevaatlik. Loodetavasti sa seda super Ärge oma taandus niikuinii, ja nii see pole just kõige palju koormust. Aga põhireegel Python, ja me peame paar neist et me läheme läbi läbi käigus rääkida, on proovida looduslikke süntaks Enne otsin midagi üles. Nii et see süntaksi jaoks see number vahemikus, On väga iseloomulik nii stiili. Palju asju Python me näeme, võttes seda vormi. Ja kui sa tulla uue objekti, mida te arvan, et sa peaksid suutma Käi seda, sellisel kujul, Selgub, et tõenäoliselt toetab seda formaati. Me ei kavatse minna super sügaval tehnilised põhjused, miks see on tõsi. Aga see on kasulik intuitsioon on kui sa oled lähenemas Python programme, et see asi on lihtsalt läheb tööle. Proovi seda. Käivitamisel käsurealt Tõlk, kas see töötab, liikuda asju, enne kui isegi vaja avada Google ja öelda, Mis süntaks see konkreetne asi? Palju Python võid avastada, püüdes. See, kui on veelgi sarnast C siis fors on. Pange tähele, et seal ei ole sulgudes. Sulgudes on jällegi kahjutu, kuid vajalik. On käärsoole lõpus nagu for silmad, ja jälle suhteline plokid on liigestatud mitte maha sulud. See teine ​​on originaal tase taandus, ja selle plokist liigestatud uuesti. Need toimivad nagu nad teevad C. See on tegelikult väga palju sama. Jällegi, print kaotab üks märk off printf Jätate mõned stringid. Selgub stringid võivad olla tähistatud off poolt ülakoma või jutumärkide. Ei ole vahet, ainult et sees ülakoma saate jutumärkide koos loobuma, selle asemel, et põgeneda neid kõiki. Ja sees jutumärgid, siis saab kasutada ülakoma koos loobuma ilma põgeneda neid. Kui sa tahad segada neid, saate kindlasti otsida Online, kuidas seda teha. Märkad, et siin, Olen läbinud lõpus = see asi. See on näide vabatahtlik argument, mis on üks nendest asjadest et Python toetab seda muudab üsna kasulik. Nii print on tegelikult palju argumendid, mis on tavaliselt seatud vaikimisi väärtust, kuid siin ma olen otsustas alistada üks nn lõpus. Põhjusel, et ma pean alistada see tühi string on see, et print Python, mida Vaikimisi prindib välja uus liin pärast asi, mis sa ütlesid seda ka. Nii et see räsi on tegelikult läheb välja printida hash uus liin. Ja kui ma ei taha hash välja trükkida uus liin pärast seda, siis ma pean ütlema, ei prindi üks. Aga veel on, siis viimane asi, mis see programm on puudu, et üks on see, SSI tipus. Prindi Leivo Python nii et põhimõtteliselt et ei ole päise kaudu või moodul et sa pead hulka, kuigi kui soovisid lisada muid asju on Python skript, Ma teeksin seda väga sarnane format-- sõnad on vaid veidi erinev. Mainisin, et me ei pea peamist siin kuna Python algab täidesaatva tipus. Kui ma tahtsin murrab Seda funktsiooni, ma teeksin seda nagu see-- ma ütleksin def funktsiooni nime, argumente võib minna siin ja me vt mõningaid selliseid hiljem, käärsoole-, ja siis jälle, see Kogu maha block on see, mis on töökorras blokeerib selle funktsiooni. Nii et see on mõiste funktsiooni. Ja seal on deklaratsioon, siis alla siin, ma lihtsalt helistada funktsioon. Ja jälle programmi tõlk, alustades tipus, näed selline määratlus. See ei täita seda kuni siia, siis see on nagu, oh Nüüd olete kutsutud, siis ma arvan, et ma peaks käivitada. Asi, mis on väga levinud näha Python faile, eriti Python faile on üldsusele kättesaadavaks ja arenenud by-- ja arendatakse ja säilitada, on midagi selle vormi. See on basically--, sest Python, hakkate tipus ja siis täita alaserva, Ma siis, kui ma lihtsalt pidin Mario hõikas siin siis igal ajal võtsin seda faili teise faili, sest tahtsin kasutada on Mario funktsioon, mis muu fail oleks Samuti on see üleskutse Mario ta. Ja kui ma jooksin, et faili see eeldaks Mario. Seega on võimalik, et ma ainult soovid käivitada, kui ma olen tegelikult hukati selle konkreetse faili. Ja nii ma ei murrab see mõnes idioom niimoodi, kus ma ütlen, kui nimi seda täitmine Keskkond on peamine, siis ma tahan neid asju teha. Muidu keegi teine ​​ei saa use-- hulka minu funktsioon-- minu fail ja lihtsalt saada juurdepääsu nende funktsioonide ilma näidata asju et ma tahan täita seda pilti. See on jällegi vabatahtlik aga väga levinud. Need asjad on entirely-- on täpselt sama vahel C ja Python, Kindlasti 3. Ma arvan, 2, jagunemise operaator Mõnikord annab sulle tagasi hõljub, kui sa tegutses ints ja kas sa tahtsid, et ega sa ei ole. Aga pluss, miinus ja korda töötada välja täpselt nagu võid oodata, välja arvatud kiiruse veidi rohkem liike. Nii saab korrutada ujukite poolt ints ja neid erinevaid asju. komplekt töötab täpselt sama. Saab kasutada kahte võrdse märke. inequals-- suurem kui vähem kui need sorti things-- on tähenduste sa oled tuttav. Kus C kasutab neid ettevõtjaid, Python kasutab veidi English loetav ones. Nii et selle asemel kaks, sümboliga, saate sõna otseses mõttes kirjutada sõna "ja", "või" või mitte." Nagu oma kui-- oma tingimisi avaldused, Me nägime, et see süntaks C vastab see süntaks Python. Ja seal ei ole palju erinev seal, va natuke kirjavahemärkide küljed. Jällegi, kus C oleks muidu kui Python kasutab elif, kuid need on enamasti pinna tasandil muudatusi. Iteratsiooni, nagu see on sageli kirjutatud see idioom Python. Võite valmistada selline asi mõnda aega silmus väljaspool kui sa tahad, aga sa Kindlasti ei pea. Ja jälle, kui sa tahtsid välja printida elemendid massiivi võite teha seda nii. Üks lõbusaid asju umbes Python küll, on see, et sa ei pea kasutada seda paradigmat, ja mida saab kasutada veidi rohkem elegantne üks. Sa ütled jaoks on aarne. Nii et pigem läheb siin ja töötab üle indeksid, ja siis tõmmates üksikuid elemente, sa ütled et tegelikult lihtsalt sõidetakse elemendid ise. Ja siis mis iganes sa teed sees võivad tegutseda otse elementide, mis on päris lõbus. Ja me see-- me kasutame et idioom uuesti ja uuesti kui me käime läbi koodi. See on jällegi näide midagi, et ma helistada Python magic, kuigi on väga tehnilised põhjused, miks see toimib. Ja seal on tehnilised asjad, mis vaja, et olla tõsi umbes massiivi, et Et see toimiks, kulisside taga. Asi on selles, et enamik liike mida ootaksite seda tööd on olnud see rakendatakse Teid sisseehitatud keeles. Teine asi, et oleks tore, kui see töötas igas keeles, kuid on mõned põhjused, miks ta ei saa printida string korda seda numbrit. Selgub Python, see teeb täpselt mida soovite, mis on lihtsalt lõbus, ja tähendab, et me saame tegelikult vähendada selle programmi uuesti mario.c. Selle asemel iterating palju, saame lihtsalt öelda, tahan parkimiskohtade arv, Ma tahan arvu räsisid, ja mõned räsisid lõpus. Ja taas, me kasutame seda formaati. Siin me möödaminnes Muutuva sel viisil. Jällegi, me ei pea ütlema millist tüüpi muutuja on, ja ainus kord, kui me tulen saada vead on töötamise ajal. Kui keegi üritab edasi midagi, see saab tulla funktsiooni just fine. Kui me toestav siin, sest see ei ole asi, mida saate luua ulatub üle, Ma saan käitustõrge seal, ja ma pean siluda seda. Aga vahepeal, mul ei ole olema väga ettevaatlik, mida saab edasi ka, nii kaua, kui tegelik täitmise see kõik töötab väga puhtalt. Ma ei suutnud isegi seda natuke puhtamaks kasutades eelkõige sisseehitatud funktsiooni strings, mis Joonda paremale. See on lihtsalt kasulik funktsioon vedelema raamatukogu. See on dokumentatsioonis kui sa lähed ja otsima. Ja ma ütlen, noh, ma lähen see string, mõned arv räsisid, ja ma tahaks õigus õigustada see-- pad see välja ruumid olema sellise pikkusega. Ka see on dokumentatsiooni, mis toob us-- Ma tegelikult klikivad these-- mis toob meid teise reegel jaoks Python-- standard raamatukogu funktsiooni meetodid on sinu sõbrad. Ja see on sageli väärt oma aega otsima minna ma ei tea kui seal on asi, mis lihtsalt teeb seda. Küllap on. Kui soovite pad välja string, kui soovite meeldib teha tagasi pool string, kui soovite meeldib otsida stringi, kui soovite prauhti paar asja koos string komadega nende vahel, on standard raamatukogu funktsioonid, mis selleks. Ja see teeb teie elu lihtsam, kui sa neid kasutada selle asemel, et võtta kasutusele kõike ise viie rida koodi siin, viis rida koodi siin. See on tõesti algab küündivad reaalajas. Üks huvitavaid asju kuidas seda saab nimetada. Märkad, et seal on dot asi. Mul on mingi objekti vasakul, ja siis ma helistasin dot funktsioon. See on üks paradigmad et Python kasutab kinnitamiseks meetodeid objekte. Me räägime, mida see väga lühidalt lõpus, kuid tean, et me saame nii tegutseda asju võttes, et asi öelda dot mida iganes, või helistades funktsioon, mis võtab et objekti ja mõned teised argumendid. Nii et need on mõlemas suunas, et asjad saavad tehtud Python. Ja kas konkreetne funktsiooni rakendamist Selles stiilis või selle stiil on midagi, mida sa peaks otsima, kuni sa saad aru saama mille puhul üks on tõenäoline sattuda. Seal on rohkem või vähem sidus filosoofia Python et te absorbeerida enamasti kirjutades palju ta. Mingil hetkel, kui üks neist midagi viiakse ellu muutub loomulikuks. Sest nüüd, see on lihtsalt midagi sa õpid kui nuputada iga asi. Nii standard raamatukogu funktsioonid on su sõbrad, ja nad teile kirjutada asju, mis võta see palju ruumi tõesti varsti, tõesti elegantselt. Ja see on tegelikult ilmselt rohkem loetav, ma ütleksin, kui C programmi seal. Rääkimata sellest, et nii Lühidalt mahub terve elevandi ruumi, et me oleme päästetud. Teine asi on see rakendamine Mario see dot C, mis ma arvan on lühim saad selle. See ei ole get int, kuid raske koodid väärtuses 10 Samamoodi, et see üks teeb. Selgub, et see kellad juures 84 märki, et Python on 64. Ja see on lõpmatult rohkem loetav kui see prügi siin. Nii Python on tõhusam ruumis. See on veidi vähem tõhusad aega, kuid mitte palju. Nimekirjad on tähtsam Python. Me ei ole näinud, kuid nad tegutseda palju nagu massiivid teha C. Nii et siin saab kuulutada neile, sa ei liigu nad ühte asja. Nüüd väljakud omab massiivi neid asju. Jällegi, me ei ole deklareeritud tüübist, aga kui me kunagi proovida seda kasutada, midagi, mida sa võid oodata, et töötada array täisarvud läheb tööle array täisarvud. See on asi, mis sa absoluutselt ei saa teha C, sest mälu on nii käed, kuid on väga lihtne teha Python. Kui ma tahan, et mu massiivi olema suurem, võin lisada üks osa ja see on hea. Mis toimub kulisside taga? Tõlk läheb välja ja saaksin mälu ja äkki muutub asi veidi rohkem mälu, nii et ma ei ole nii mul ei ole to RealLOC iga kord. Aga kui palju on veel mälu see vaja? See ei ole otsused et sa pead tegema, need otsused, et tõlk kavatseb teha. Siin näeme valikut saab võtab kaks argumenti, aga see on ikkagi olema kaasav top nii lisame 1 seal. See on idioom, mis on isegi rohkem nutikas viis kirjutada asjad niimoodi. Seda nimetatakse nimekirja mõistmine, ja siin see, mida me ütleme on tahaks panna i ruudus iga väärtuse i selles vahemikus. See asi õige võiks olla veel massiiv, ja see asi vasakul olla mis tahes konkreetse ülesande et võtaks i muutuja ja anna mulle mõned tulemus. Mida ma teen on, Ma lähen ehitada massiivi, et kõik need asjad iga väärtus selles vahemikus. Ja see on super stiilne, super lühike, ja see on väga selge, mida see tähendab. See on üks things-- see on jällegi üks of-- väga sümboliks põhjused, et inimesed nagu Python. Kui soovid programmeerimine niimoodi, siis Python on keel, mida võiks nagu õppida. Ja jälle on tehniline miks see töötab. Aga nii palju kui me mures, me rohkem või vähem ei hooli. Seega, kui soovite printida välja loendi mõned samad idioome on kasulikud. Sest ma selles vahemikus, võiksime indeks läbi kõik asjad ja siis välja printida kõik välja. Ja sa näed len siin. Kui sa oled kunagi tahtnud saada pikkusest massiiv, mis on väga lihtne Python, see on väga raske C. See oleks välja printida täpselt mida sa võid oodata seda. Võiksime ka, nagu me oleme näinud, Käi elemente massiivi otse ja siis lihtsalt rääkida neid, selle asemel indeks tagasi massiivi iga kord. Ja see on asi, mida saate teha. Nii C, kui sa küsid midagi niimoodi, print ütleksin, see on massiivi täisarvud. See ei ole kindlasti string, ma ei saa trükkida. Python rohkem või vähem ei hooli. See on nagu, kas on võimalik, et ma võiks omakorda seda, et string? Jah, ma teen seda. Ja nii ma lihtsalt printida, et välja. See tähendab, et saate asju like-- neid on enamik kõva osad Mängu viisteist, kirjutatud väga lühidalt Python. Sa näed, et seal on natuke of-- siin Olen enamus täisarv string, ja mida ma pean tegema, et käsitsi. Ja ma lähen lisada teisele string, või muul viisil Python saab segaduses. Aga kas siis, kui sa oled lisades stringi täisarv, ma arvan, et saan täisarvkordsetega tagasi või string tagasi? Aga jälle, kui sa just helistada tn asjale, ja siis võib selle võimalikku maailma ümber string, see tõenäoliselt ümber string. Siin näeme kasutamine nested nimekirja mõistmine vasakul, mõned indekseerimine, mis on täpselt nii, nagu soovite kasutada seda, ja mõned väljatrükk asju. Jällegi oleme määratlenud mõned funktsioonid ja me kutsume neid üles peamistes kui me tegelikult saada fail. tagastamise töötab täpselt nagu sina tahaks ootame koostööd C. Leia, saame luua asju see-- siin on nimekiri mõistmine seal on loovutamise muutuja, ja me saame tegelikult seda isegi lihtsam. Meil ei ole vaja kirjutada otsing, sest sisseehitatud keele on, kui see asi on selles massiivi. Tagasi tõsi, muidu return false. Nii et kogu find. Tervikuna omamoodi sisaldab helistaja omamoodi, mis on-- on rakendused Selle ehitatud teatud C raamatukogud. Kui soovid seda omamoodi tagurpidi, siis valida siin vabatahtlik argument vastupidises tõelise. Ja kui soovite sortida üle stringid, mis on ehitatud samuti. Nii et see ei tähenda, need on asju, mida sa pead tegema iga päev, kuid mõte on selles, et see on filosoofia Python, et kõik need asjad, mida sa tahaks omamoodi teha tahad on sisseehitatud. Ja kõige standard funktsioone, nii omamoodi, pikkus, mida iganes, toetada kõige loogiliselt mõistlik sisend. Te nimetate len massiivi sama kuidas te nimetate len string. Sa multiply-- sorteerida stringid Samamoodi sorteerida massiivid. Enamik standard funktsioone et inimesed ehitada, ja kõige kolmandate isikute raamatukogude, et inimesed ehitada, sest nad emuleerib disain standard raamatukogu võib nimetada kõike, mis sa oled nagu, miks ei see lihtsalt töö, C. Rohkem või vähem, see töötab Python sest inimesed töötavad taga joonisele millised asi on ja siis tegutseda asjakohaselt ta. Nii jälle tehniline taust, kuid see muudab meie elu lihtsamaks, sest programmeerijad. Nii et siin on faili I / O. faili I / O on palju väikesed asjad, mis teevad keeruliseks, ja nii on ressursid online, kuid lühikokkuvõte, helistate avatud faili nime kindlat tüüpi. Nii et on lugenud, lugeda ja kirjutada, kirjutada või lisada. Sa loed teatud arv tegelased välja ja printida neid, saad Tere! Ma mõtlen, nagu seda faili olnud Hello! Seal, kutsuvad lugema, ja mida sa saad tagasi on string, mis on kõik ülejäänud massiivi, või kõik ülejäänud faili. Kui te helistate lugeda uuesti, sa oled lõpus faili ja et sa ei saa midagi ja nii saate sulgeda. Ka see on .close asemel Sulge faili, kui see oleks C. See on rohkem või vähem, sest f on asi, ja sa tahaks jaoks f sulgeda. Aga põhiline faili I / O ei ole Eriti keeruline. Jällegi, kui soovite faili avada, kui soovite lugeda konkreetse liini, saad läbi konkreetsete LINE seal sisseehitatud ins eest. Kui soovite kirjutada asi, võite kirjutada seda. Kui soovite kirjutada üksikute hammustab, saab kirjutada neid. Ja kui soovite itereerima üle rida faili individuaalselt, sest me tegime tüki Paar nädalat tagasi, mida saate teha, et. Jällegi kõige objekte, et soovite meeldib, et oleks võimalik korrata üle toetust iterating nende üle. In Püütonlased, fail on äkki asi, mis Sooviksin korrata üle rida-realt. Kui see oli sõnastik sõnade ja ma olin üritavad nende üksikute sõnad välja, siis selle aas line see saab olema iga sõna omakorda ja selle läheb täide iga rida faili lõpuni faili. Ja jälle, kui ma välja trükkida iga line, read tulevad uued liinid, nii et ma panen lõppu tagasi asi niimoodi. Siis ma saan sisu minu fail. Teine asi, mis tegutseb Mõnes mõttes nagu nimekirju, ja mõnes mõttes kui midagi oluliselt võimsam, on sõnastikke, mis on tõesti cool kasutada vaid põhiliselt hash tabelid varjata. Sa abil luua täpselt kaks märki, mis on fantastiline kui oled proovinud, et rakendada hash tabel teie probleem komplekti, sa tead, palju valu, mis võib olla. Aga inimesed on teinud seda ja teha seda nii hästi, et sa ei pea muretse enam. Siis saate sisestada üksikuid asju. Hash tables-- või sõnastikud eriti ei huvita, mida sa ladustamiseks neid. Nii et kui mõned kirjed on numbrid, ja mõned kirjed on nimekirjad, kui mõned kirjed on teiste sõnaraamatute, ja mõned kirjed on stringid, Python ei ole palju abi. Jällegi, kui sa lähed sinna oodanud string ja mida sa saad tagasi on massiiv, see on sinu probleem. Ja võibolla on süüdi kes arvasin, et see paneb asjad sõnastikku, võibolla see oli teil. Kui see oli keegi teine, loodetavasti nad olid hästi käitunud, mida läksin sõnastikus ja ei jätnud mingit lõkse Teile langeda. Aga standard funktsioone teile tagasi Hyväkäytöksinen asju. Nii nad ütlevad, et see tulu tagasi sõnaraamatu stringid, siis kõik, mida sa lähed välja tulla on string. Kui sa natuke seda ja see väljasõidud sind, noh, mis võivad olla sulle. Python kindlasti annab sulle piisavalt köis üles riputada ise, kui soovite. Nüüd saame välja trükkida üksikuid elemendid ja selle naaseb täpselt, mida sa võid oodata. Täpselt, mida sa võid oodata, ma arvan, on lause, mis ma kasutan palju, aga see on rohkem või väiksem kui Python toimib. Kui te küsite asi, mis ei ole see, Python viskavad veast ja siis quit sa välja mis iganes programmi sa olid. Seda saad tegelikult välja trükkida rohkem infot kui et, see saab juhtida sina-- siis see lisada rida ja nii. Ja jällegi, äkki me tahame itereerima üle sõnastikud ja kõik asjad on. Siin me oleme iterating üle kahte asja korraga. Ja nii me teeme seda koos võtme väärtus, aga siis välja printida kõik need. Ja kui me tahtsime cast-- kui me tegelikult jooksis see, oleks meil mõningaid probleeme, sest nüüd-- kui me läksime koos David, see ei add-- kui me ei visata string esimene, me ei saanud lisada et massiivi stringide peale string. Aga kui me viskasin kuni string, saame midagi nagu see, mis on võib-olla mida me tahaksime lugeda. Ja see on speller. Me lihtsalt lugeda asju. Nii saame lugeda üksikute sõnade näiteks jooned. Me tükelda ära viimase asi, et koolon miinus 1 chomps maha viimane asi, mis we-- viimane märk tekstist. Me ütleme. OK, igaüks neist saab sisestatud seda sõnastikku kaardistamine väärtus 1. Me ei ole eriti hoolivad, et üks, aga see on lihtsalt seal öelda, nojah, see asi, mida ma panen sõnastikus. Sest hiljem, mida me oleme lähen tegema, on me ütlen, noh, kui see on sõnastikus üldse. Ka see kontroll Liikmelisus on kuni operatsioonisüsteemi kasutades täiesti erinevad algoritmi kui see nimekirjaga aga me nimetame seda samamoodi, mis on mõned, et Python suhkurkattega asju nii, et nad lihtsam kasutada. Ja jälle oleme näinud asjad niimoodi enne. See on põhimõtteliselt leida, või see on täpselt sama süntaksit nagu leida, kuid töötab üle täiesti erinev struktuur. Ja me ei huvita. Nii et need on asjad, mida te Paluti rakendada speller. Samas tempos, me ei kavatse saada suuremal või vähemal määral kõik psets teinud. Sihtrühm: Nii et põhimõtteliselt lihtsalt tuleb tagasi kui valesti kirjutatud, kui see ei ole sobitada midagi sõnastikku? ROSS RHEINGANS-YOO: Jah, jah. Ja nii on see kohandamine probleem seatud mis küsib teha just nii. Sihtrühm: Miks on line miinus 1 on? ROSS RHEINGANS-YOO: Nii kui sa iterating Üle faili paludes joontega, read tulla reavahetusmärki lõpus see-- miinus 1 on lihtsalt poest neid ära. Ja see on eriti paindlik viis indekseerimise asjadesse. Nii et kui teil on string, ja soovid, ning ma olen läheb algavad iseloomu kolm ja ma lähen lõpuni. 3 jämesooles on seda teile. Kui sa oled nagu, ma tahan alustada juures hakanud ja mine viimase miinus 1 iseloomu, käärsoole miinus 1. Ja kui sa tahad minna kolmandast kuni miinus esimene, siis ütleksin 3 miinus 1. Lisaks, kui soovite indeks asjadesse lugedes tagasi, sa lihtsalt indeks miinus numbrid. Ja kuna kui C oleks plahvatada või äkki sööda teile muid mälu sa ei ole juurdepääsu, kuulda võib öelda miinus 1 tähendab viimast aga 1 tegelane string. Moodulid on version-- on analoogidega raamatukogude C ja on kasulik palju asju. Palju asju, mida tahaks meeldib teha Python, Lisaks lihtne manipuleerimine muutujad, soovite konks suuremat raamatukogud suuremate liidesed ja rohkem võimeid, suheldes teiste maailma osades. sys on üks neist hunnik tööriistad mis on kasulikud suheldes süsteemiga ise ja impordib seda nagu import sys. Seal on rohkem dokumente et mis siis võiks minna siin, või võid leida Google googling Python sys. Sa kirjutad siseneda. Esimene link saab olema dokumentatsiooni Python 2, teine ​​link läheb olla dokumentatsioon Python 3. Ja kui me kirjutas fail, mis nägi nagu see-- Kui eelkõige oleme Vaadates tegutsevad käsurea argumente, nagu me õppinud tegema väga varakult selles klassis. See ei ole raske. Saad välja argv, mis on üks nendest asjadest mis on ellu sys. See ei ole sisseehitatud kuni baaspakett, kuid nüüd, siis laiendada, importiv et funktsionaalsuse sys. Sa kutsuvad seda sys. mida iganes. Siin on argv. Seal on tegelikult puudub Argc in sys, sest sa saan seda nii lihtsalt helistades len. Siis trükitud läbi, siis me jooksis meie terminal echo-args.py. Me naasta massiivi, mis on see esimene argument. Ka see on argv 0, mis on nimi on asi, mis sai nn. Kui me kutsusime teda täiendavate argumente, me tahaks saada neid tagasi. See on üks viis saada käsurea argumente. Kui soovite lippe, kus sa pööra eriti asju või alistada Konkreetse vaikimisi argparse on sinu sõber. Ja jälle sa leiad, et online- kell python argparse Google. Seal on paar kasuliku moodulid, et sa leiad end abil ja jälle, kui te kulutama aega Selle keele importiva jsons lugemine ja sealt Jon faile, ei ole nii keeruline. Sa avada faili, siis nimetatakse json.load kohta, et fail ja sa saad tagasi asi. Mis asi? See on Jon objekti. Kus et Jon on massiiv, Python on massiivid. Kus et Jon on assotsiatiivne massiivid, Pythoni sõnaraamatud, stringid, ja numbrite ja nii edasi. Tahad prügimäele, et läbi, siis avada uus fail, siis helista prügila, ja koormused ja puistab minna ja sealt stringid. Samuti hapukurk saab nimetada põhiliselt samal liides. See on veidi rohkem kasu kui sa jätad Python objekte. Nii et kui sa oled kunagi tahtnud säästa versiooni hetkeseisu muutuja tulevase käivitada oma programmi, hapukurk on Pythoni raamatukogu teeme seda. Kui teil on mingisugune muutuja, mis võib olla kirjutatud aastal, nagu sõnad ja kirjamärgid ja bytes-- sellist sõnastikku võiksime kirjutada oleme võiks seda kirja panna, kuna nagu Jon objekti, mis oli sõna otseses mõttes need märgid. Ja siis oleks väga lihtne inimese avamiseks up-- avada ja seda lugeda. Kui me seda ei teinud eriti hoolivad inimesed loevad seda, me võiks pakkida isegi tõhusamalt vormidele, mis võib hiljem lahti või mis võib hiljem täis. Ja see säästab 80% ruumi, et oma objektide might võtta, kui sa kirjutasid neid harilik kiri. Te nimetate hapukurk väga palju Samal way-- prügila koormust, ja siis saad oma asjad tagasi. Nii et kui te kirjutate väga Lühidalt Python programmid soovite salvestada riik, ja siis loe neid hiljem tagasi, asjad niimoodi on su sõbrad. Et sa võiksid väga lihtsalt prügimäele neid Jon. Enamik Python objektide saab salvestada välja Jon kas seal on mingit lootust, et struktuurselt nad võiksid olla esindatud nii. Need on vaid otsa jäämägi moodulid, mis on kasulik. Nii sys, os, multi, on omamoodi põhilised tööloomad asju vajame suhelda failisüsteemi os., nagu os.isfile, os.isdirectory, os.makefile, need on su sõbrad. Kui sa tahad suhelda konkreetse failitüübi Jon, hapukurk, csv. Kui sa tahad suhelda web lehekülgede urllib saada http lehti. bs4-- BeautifulSoup-- See on suurepärane parser html. Sa jooksed selle html ja sa saada see nested massiivi objekti nüüd, millele saab läbida üle lookin, kus nagu lihtsalt otsin kui on, mis on fantastiline. Seal on hunnik paketid running-- teeme eriti mathy asju. Nii et kui sa tahad korrutada, pöörake, muuta põhiaineid numpy kasutavad inimesed üle maailma eest. scipy on veelgi kasulikumaks tööriistu selles suunas. sklearn-- masin õppe loomuliku keele töötlemise, super kasulikke asju, saab rakendatud Python kogu aeg. Ja jälle, võtab veidi kauem write-- kahju, võtab veidi kauem joosta, kuid põhjusel, et tõeline insenerid kipuvad kasutamiseks Python on, sest siis kipuvad olema blokeeritud Sa kirjutad koodi, pigem kui arvuti töötab koodi. Nii et kui sa lähed kirjutada Programm, mis on palju teisi inimesi kavatsete kasutada igavesti, nagu Linux, siis võib kirjutada ka C. Kui sa olid kirjutame arvutamine mootor, võite kirjutada Python, kui teil on vaja seda muuta iga paari kuu jooksul. Mõned inimesed kirjutada seda C, sest nad niimoodi. Nii oleme näinud import sys kui viis asju saada moodul oma programmi. Samuti saate importida seda hüüdnimi kui soovite. Jällegi multi on valu kirjuta välja iga kord, et importida nagu mp ja siis millal kasutada seda programmi, sa öelda mp.process, või mida iganes. Kui soovite import ainult üks asi, nii urllib on asi, mida nimetatakse taotluse, nii et saate lihtsalt importida seda. Hiljem, siis ei kasuta seda urllib.request, kuid sama taotlust ise. Ja saate importida kõik moodulisse, kui soovite. See on aeg-ajalt ei ole hea idea-- Tavaliselt ei ole hea mõte, tegelikult. Sest sa very-- sest kui midagi et moodul on nimi, et sa tahtsin kasutada kusagil mujal oma programmi, siis ei saa. Ja see ei ole alati ilmselge et see on nii. Et veenduda, et mida sa teed on ohutu, sa pead avama moodul ja vaata kõiki nimed, mis lõpuks there-- kõiki funktsioone, Kõik muutujad et elada, et moodul, sest sa oled viies kõik neid oma kohalikku nimeruumi. Nii et inimesed teevad seda. Üldiselt soovitatakse et sa ei tee seda. Aga inimesed seda kõik aega, sest nad on laisk ja ei taha kirjutada välja mp. midagi, kunagi. Kõik see jutt moodulid tooge mulle ümber lühikese rääkida kuidas teil kavandada programme Python. Esimene samm on vaadata, kui keegi teine ​​on juba teinud midagi, või teha 90% asi. Tõenäoliselt nad ilmselt on, ja sa peaks minema saada oma asi ja kestab selle. Või kirjutada ümbris ümber kohandada seda oma eesmärki. See on ainult pärast seda on ei, et soovite siis minna ja write-- hakata mõtlema kuidas sa paneks selle asja kokku. Seal on palju kraami seal, ja see on üks kõige kasulikum asju Python. Nagu keelt Elegantne keel on lihtne kasutada, vaid ka sellepärast see on nii elegantne ja lihtne kasutada, inimesed on kasutanud seda juba kaua aega ja seal on palju asju seal, mida saab rakendada oma tarbeks. Nii eelmisel õigusriigi Python on keegi teine ​​on juba ilmselt kirjutatud moodul, et keegi on juba ilmselt kirjutatud raamatukogu eest. Enne püüad midagi teha, vaatame et näha, kas see on ellu viidud. See ei ole nii raske. Kõik moodulid, et panin üles Enne, võib-olla üks erand, eelinstallitud igas standard Python paigaldus. Ja nii on kõne importida iganes, siis kõik selle funktsionaalsus sinu käeulatuses. Algus pakkima selle rääkida, seal on mõned asjad, et ma jätsin nagu mustad kastid ja omamoodi ilustatud, ja seal on mõned White Lies, et ma olen ütles, et pärast ausus, Ma tulen vähemalt punkti siin, isegi kui ma ei minna super sügavale neid kõiki ja nende tehnilised selgitused. Palju asju et ma olen kutsunud magic on see, mida teised inimesed kutsuksin objektorienteeritud programmeerimine. Nii on palju things-- nii muutujad on väga sageli ei Lihtne baiti istub, mälu, kuid on väga keerulised objektid, mis on sisemine riigi Funktsioone ja palju peidetud muutujad, palju peidetud funktsionaalsus, mis saab omakorda neid stringe, mis võimaldab teil kinnitada, nende üle. Ja kui sa oled writing-- ja seetõttu, et nad kõik selle rikkaliku funktsionaalsusega sellepärast, et people-- arhitektid language-- läinud läbi ja iga standard objekti, panna funktsionaalsus et öelda, see on, kuidas see on kuidas see saab toimida kui keegi tahab korrata üle. Nii et kõik, et keegi võiks tahta itereerima üle, on loogika kirjutatud käsitsi, kuidas sa oled peaks Käi et objekti. Kõik, mis sa võiksid tahta dumpinguhinnaga string on loogika kirjutatud. See on funktsioon, mis sulle helistada, kui soovite prügila seda välja string. See on põhjus, miks sa ei helistada len asju, seda Seetõttu võite helistada ka, et see on miks sa ei helista, kui ka kõike mis sa tahad, sest Neil kõigil on kaasas nendega, tehnilise oskusteabe teha. See on midagi, mida ma olen super ei lähe. Aga asi nimekiri on delikaatselt erineb C stiili silmad, ja saate lugeda kõike, et internet kui olete huvitatud. Hetkel varjukülg kõigele Selle, et ma mainisin, nii et kaks asja. Esimene on see, et see objekt-orienteeritud programmeerimine lisab palju õhuliini juhuslikult asju, nii et sa lõpuks up kasutades palju rohkem mälu; sa lõpuks kasutades veidi rohkem aega kui sa muidu. Other-- kuid rohkem salakaval varjukülg sellele on, kui asjad lihtsalt toimivad nagu sa tahad neid ilma sinuta arvan super kõva kas see peaks olema int või kas seal peaks olema float, võib juhtuda, et siin sa toota int kuid siin sa arvan, kuid nad always-- kahju, võib juhtuda, et siin sa toota float, aga kui sa saad teine ​​osa oma programmi, sa mõtled, nojah, aga nad tulen alati edasi mulle int. Ja kui nad seda ei tee, siis on võimalik et sa kiilutud kuskil, Kui üritate kasutada, et indeks massiivi, või mida iganes. Nii et üks tõeline kasulik asju C on see sunnib sind mõtlema tõesti raske, enne kui teha any-- Enne too muutuja tegutsema, nagu mida on tüüpi muutuja. Ja see läheb on seda tüüpi kogu aeg. See ei ole tõsi Python, ja tegelikult sa can-- kui sa oled lihtsalt omamoodi läheb kõrva, ja sa teha mõned otsused üks viis ühes kohas, ja mõned otsused ühe kuidas teised koht seadmata piisavalt kraami maha stseenide teine ​​koht püüda asju korralikult, siis saan mõned väga imelikud vead. Ja programmi saab hoida jooksmine väga pikka aega, sest see on teeme palju tööd, et öelda, hästi see asi võiks toimida nii, nii et ma lähen jooksma nii. Ja tegelikult, et ta surub edastada läbi palju väikseid vigu tähendab, et sageli, kui viga on tegelikult halb ja sa tõesti tahad, et seda parandada, see jõuab miili away-- programmi jõuab lõpetamist miili kaugusel alates, kui sul oli oma viga. Ja nii üks asi, mida me tahame programme teha, sometimes-- üks asi et tahaksime programmid mida teha, kui me silumine on õnnestu valjult ja ei suuda väga kiiresti, kui midagi läheb valesti. Python on väga halb, et. Python on väga hea ei ole vastasel ja jooksvalt edasi läbi ootamatuid asju. Nii et see on kasulik, kui sa oled kirjalikult väikesed programmid. Kui sa saad keeruline vead mõnikord võtab kaua aega kiusa neid. Nii et varjukülg kõigile Selle, nagu ta lihtsalt töötab. See lihtsalt töötab nagu sa oodata, et see. Välja arvatud, et kui ta ei ole, siis lõpuks üles hoopis teises kohas ja püüab välja selgitada, kus oli see, et sa valesti läks. Prügi kogumine on-- nii üks asi, mida märkad on see, et kõik need asjad, mis Olen toonud existence-- Nende massiivid, nende sõnaraamatuid, neid esemeid, neid files-- ei saa kunagi vabaks. Puudus kõne tasuta üheski see jutt. Ja see oli C-side, kuna me kunagi sattus neid asju. Aga Python-side, ei ole vaba. Asjad lähevad automaatselt vabanenud, kui Python arvab, et sa oled ei vaata neid. See on tõesti hea mitte vabastades asju, võite veel võimalik vaadates, kuid see tähendab, et kui sa olid läheb jaotada see suur asi, ja sa oled nagu, oh Ma olen teinud seda nüüd, see on raske öelda, Python mis sa oled teinud seda nüüd. Võite mõnikord seada muutuja olla keegi, ja siis loodan, et lõpuks prügi koguja tuleb läbi ning puhastab seda. Aga jälle, sa ei ohjes. Ja üks põhjusi, et inimesed kasutavad C jaoks tõesti Tootlust kriitiline asju, on see võime tõesti tea, kui mälu on eraldatud ja kui see on vabanenud ning neil palju kontrolli öeldes, Ma kasutan ole rohkem mälu kui mul on vaja. Milline on midagi, mis Python ei ole nii suur on. Sihtrühm: Kas ma tohin küsida? Mida sa mõtled ei valjusti? ROSS RHEINGANS-YOO: Nii et kui midagi läheb valesti ja sa oled silumine režiimis, siis oleks väga sageli tahad oma programmi öelda kus täpselt see on läinud valesti, ja mitte ainult vaikselt peatub. Kuid soovid tegelikult see printimiseks välja igasuguseid infot nagu siin oli see. See asi juhtus Kui prindite wen-- kui näed web server-- Sihtrühm: [kuuldamatu] ROSS RHEINGANS-YOO: Jah, kui näed veebiserver, see on mõnikord halb, kui sa oled alati visatakse vigu, ja sa räägid, ka see ei tööta. Ma lähen lõpetada. Ma lihtsalt ignoreerida ja hoida läheb. Sest siis saad sadu need vead ja ei näe neid. Kindlasti oleks kasulik silumisel kui iga kord oma veebiserver teinud viga, siis tuli vastupidavad arvestust, et. Äkki taha isegi programmi lõpetada, nii et need andmed Ärge saage mattunud asju. Aga jälle, see on silumisrežiimis. Sageli tootmise režiimis Maailm on natuke erinev. Ja väike skriptid, et mul hakkab, kus asi, mis ma ütlesin, et teha võib olla ainult natuke maha mida ma tahaks seda teha, siis mingi surudes läbi vead on midagi, võiksite. Ja neil juhtudel, kindlasti Python tõesti teenib tema hakkab. Viimane asi, mida ma ei räägi in see--, et ma ei räägi kuid võib tõesti vihaleajav esimene kord, kui üks neist vigadest, ning teine ​​ja kolmas ja neljas kord, kui üks neist vigadest. Python, mainisin et ta kasutab tühja ruumi öelda, mida tasemel taandus ja mis funktsionaalne plokk oled, ta kohtleb kaarte ja ruumid erinevalt. Nii et kui sa tab üle nelja ja seejärel järgmisel real on neli ruumi, isegi kui nad näitavad üles kui Sama summa oma toimetaja Python ei kohelda neid samu. Tegelikult Python kohtleb tabs ja ruumid nagu õli ja vesi. Nad on lihtsalt erinevad asjad. Ei ole eriti pikkus, et sakk on, nii see ei ole nagu tab võrdub 8 ruumid, et sa saaksid selle ümber Sedamoodi. Like, kui ta ütleb, mida tase tühja ruumi ma olen, see on tegelikult otsivad muster ruumid ja kaarte. Ja nii, et parim viis käsitleda seda on alati kasutada tühikuid kogu aeg. Ja tegelikult on Cloud9 IDE ja CS50 IDE, Sinu Tab lisab Nelja ruumi asemel vahelehe, mis on super kasulik. Kuigi jälle, kui sa kirjutasid Python programmi kaarte, mis oleks hea, see on lihtsalt, kui keegi läks ja proovisin lisada üherealine oma programm, mis oli neli ruumi iga sakk see murraks. Ja see murraks viisil et tegelikult ei ole nähtav. Kuigi tegelik viga sõnumi, et ta viskab on pistmist uus treppimistasemel ole siin oodata, või-- kui ta räägib taandes ja tundub, et see on vale, see on ilmselt seetõttu seal on tab-ruumi probleem. Nad ikka vihaleajav siluda. Suurim tervikuna see jutt, mida ma ei ole saada, sest see on tõesti keeruline, peen teema, ja ei ole vaja teha mingeid asjad, mida me oleme seni teinud, on mõiste nimega tuples. Nad on seal meelega massiivid, et sa ei saa muuta. Nad saavad kasutada kõikjal, sest kasulikud on nad palju asju et massiivid ei ole kasulik. Aga kui soovite, et muuta massiivi, ja siis luban tõlk, et teil olete kunagi tahad muuta, et asi-- tegelikult, kui soovite muuta, saate teha uus uue väärtused see-- need on tuples. Selle asemel tootma neid nurksulgudes, sa toota neid ümarsulgudes. Miks sa ei kasuta neid asju, on natuke küsimus. . Ainuke asi, et ma öelda, et on teil saab kasutada korteežide indeksite sõnaraamatuid. Te ei saa kasutada massiivid indeksite sõnaraamatuid. Ja miks on jällegi tehnilisi ja Ma ei kavatse joosta ta. Pset, et ma ei ole puudutanud kohta selles räägitakse pset6. Nii et siin on, kuidas sa päeva rakendada a-- siin kuidas oleks rakendada pset6 Python. Pidades silmas Python projekti vältel, esimene asi, mida te teete, kui olete kirjalikult programmid on kontrolli et näha, kas keegi on seda juba teinud. Tegelikult, kui soovite to serve-- Apache 50 teeb umbes seda, välja arvatud see ei tule standard installitud Linux masinatega. Python teeb, ja Python Lihtne http server ei samuti. Kui sa oled kunagi Linuxi masin, või Cloud9 IDE väljaspool CS50 ja soovid teenida selle praeguse Kataloog konkreetse sadama, python-m SimpleHTTPServer Sadam teenib seda. Samuti saate importida lihtsaid http server ja see sai palju funktsioone, kui soovite kohandada seda või seda muuta, või käivitada see-- rakendada seda Vii oma server teenuseid. Nii et Python lühikokkuvõte. Ja see on CS50. Aitäh.