ROSS RHEINGANS-YOO: Hi, Mən Ross edirəm.
Və bu CS50 seminar edir.
Bu proqramlaşdırma sizə olacaq Python proqramlaşdırma C.
>> Python skript dilidir.
Bu C kimi əsasən var sintaksis, bəzi baxmayaraq
texniki detalları ki, sintaksis icra olur necə
qədər fərqlidir.
Bəzi yollarla C-dən az güclü edir.
Bu az ifadəli deyil tam olaraq harada sizin kompüter
yaddaş, salınan olur Bu salınan olur necə,
Bu, azadlıq olur zaman və şeyi bu növ.
>> Bu, bəzi yollarla C-dən çox faydalı bu proqram daha asandır, çünki.
dil bəzi edir insanlar daha asan.
Və həqiqətən, məqsəd üçün proqram daha sürətli olmaq
və potensial yavaş icra etmək.
>> İndi haqqında düşünmək əgər vaxt məbləği
sizin son sərf Problem set yazı
qarşı code Siz sərf zaman məbləği
Sizin keçən problemi ilə bağlı kodu icra qurmaq,
bilərsiniz dil təsəvvür istədiyiniz ki, yazmaq üçün iki dəfə sürətli idi
və iki dəfə yavaş bilər icra etmək bəzi yollarla C üzərində inkişaf olacaq.
Əlbəttə ki, zaman yazmaq çalışdığınız kiçik proqramları az şeyə,
Python seçim faydalı dilidir.
>> Bu sonunda seminar, Mən sizə lazımdır ümid
etmək mümkün gələcək layihələrdə seçim
hansı dili istifadə etmək düzgün deyil, fikir
bir dil çox olduğunu hər zaman doğru.
Seminar nə haqqında bir neçə şey.
Bu seminar üçün nəzərdə tutulmayıb sıfırdan Python öyrətmək.
Python çox oxşardır C və mən hərfinin alıram
Bir CS50 tələbə olduğunu, və ya kimsə C. ilə oxşar tanışlıq ilə
>> Siz CS50 tələbə danışırsınızsa ətrafında problem 6, müəyyən
belə ki, bir çox görmək var C şeyi, mən sizə vermək lazımdır
əsas fərqlər, və bəzi şeyləri
ki, Python müxtəlif etmək və xüsusi və faydalı,
amma getmək fikrində deyiləm nə bir proqramlaşdırma dilidir
və proqramları yazmaq üçün necə.
Lakin, bu seminar öyrədəcək Bir Python proqramları yazmaq
Siz bir neçə qruplarından biri əgər.
Yenə biz necə baxmaq lazımdır Siz psets həyata keçirəcəklərini
ki, 1-6 olmalıdır Python-- təmin göstəricilər
rəsmi sənədlərin gələcək sened üçün.
əhəmiyyətli olan digər şey Bu müzakirəsi verilir necə,
Bu video olacaq online, CS50 nəzakət,
belə ki, kimi hiss deyil qeyd etmək lazımdır.
Siz həmişə geri getmək və baxa bilərsiniz ona sonra bir sened kimi.
Bundan əlavə slaydlar İndi var
Bu saytda olan olmalıdır Google doc etmək almaq.
Bu bir az ixtisar versiyası var Mən ekranda göstərən alıram nə.
>> One ehtiyatlı verirlər əvvəl biz jump, Python 3
Python 2 fərqli dilidir.
Onlar bir çox eyni baxmaq; var çox cüzi texniki fərqlər
ki, proqramları səbəb olacaq Python 2 yazılmış
icra edə olmaq Python 3 mühitdə.
>> CS50 cihaz ilə gəlir Python, default tərəfindən Python 2 istifadə edir.
Siz bu kontrol edə bilərsiniz Sizin command line yazaraq
python --version, çıxış olmalıdır Cari cihaz 2.7.6.
Yoxdur cəhd edin Python 3, cihaz iş
əgər 2.X.Y üçün Python yetirilməməsi, ya cihaz və ya öz maşın.
Siz Python 3 zaman əvəz etməlidir bu müzakirəsi mən Python yazın.
Maşın olduqda ismarıcları 2 çalışan, növü
Məqsədilə Python 3 həqiqətən etmək boyunca edin və bu şeyi icra.
>> Bundan əlavə, mən sizi qeyd edəcəyik İndi rəsmi resursları.
Ehtiyatlı docs.python.org/3-- ki, 3 və bir ki, 2--
faydalı istinadlar var.
Tutorial vasitəsilə keçiriləcək Eyni şeyi çox
Mən mətn şəklində istisna olmaqla, indi edirəm.
Referans kimi faydalı dil üçün arayış,
və Standard Library verir uzantıları bəzi
Əlavə funksionallığı ilə.
>> Belə ki, bir çox ilk Python proqram.
Biz standart C sol, sağ, biz Python var.
Siz tanınmış ola bilər Bu problem, bu
ilk problem biri CS50 dəstləri və bu
Eyni həll istifadə edərək həll.
İndi biz səbəb olduğunu tərəfindən bu yan baxaraq
belə ki, biz baxmaq bilər sintaktik fərqlər.
Oda filler biri doğru qeyd ola bilər ki,
yarasa off, Python heç bir var ki, kodu ətrafında əsas funksiyası wrapping.
C Belə ki, bir dəstə yazmaq faylları, siz birlikdə onlara keçid
və proqram həyata başlayır Bu şey int əsas çağırıb.
>> Python, yazmaq bir , fayl fayl icra,
proqram həyata başlayır fayl üst.
Belə ki, başlamaq olacaq fayl üst
Bu başqa bir şey tapmaq qədər aşağı gedin.
Bu bir funksiyası müəyyən bulursa, bu, həqiqətən kod həyata deyil,
sadəcə funksiyası müəyyən edəcək.
Amma burada, ilk proqramı n 10 bərabərdir
Bu proqram ki, ilk şey edəcəyik 10 bu dəyər deyil
və n adlı dəyişən onu seçin.
>> Ki, xətti bir danışan Bu sorry hər şeyə digər
deməkdir C proqramları ki, Əgər siz onları yazmaq lazımdır,
Siz olan, onları etmək lazımdır bir cingilti əmrləri dua,
və sonra bir run lazımdır yürütülebilir nəticəsində.
Python proqramları run Bu mario.py fayl mətn bilər
Mən yalnız göstərdi bu faylı olmaq Səninlə ki, fayl run lazımdır
siz icra edəcəyik bu və məzmunu
tərəfindən icra olunacaq Python tərcüməçi.
Siz IDE bunu edə bilərsiniz.
>> Mən Hello fayl varsa, olan sadəcə bu məzmunu var.
Bu, faktiki olaraq Python deyil 2 deyil, Python 3, belə deyil
indi sintaksis narahat.
Amma mən, Python run lazımdır hello.py və çalışır.
>> Hesab edirəm ki, Python istifadə edə bilərsiniz ki, başqa bir yolu Mən bu müzakirəsi çox ilə məşğul deyil
Mən yalnız Python yazın əgər bu, bir mühitdə olduğu məni damla
Mən xətti ilə Python line onu qidalandırmaq edə bilərsiniz.
Odur ki, mən yazın əgər print kosmik 'salam, dünya.
Daxil yazın.
Bu nəticələr geri ki, mənə tüpürmək edəcək dərhal fərdi line.
>> Bu faydalı ola bilər edir.
Bu söhbətində I slaydlar şeyi edəcəyik.
Və belə ki, təqib edə bilərsiniz boyunca ya burada, ya yazmaqla
faktiki faylları və sonra onları həyata.
>> Lakin, bu geri gedir indeksi, başqa bir şey
siz ola bilər ki, yaxşı noticed-- var
iki şeyi bilər Bu blokları haqqında bildiriş.
daha çox dünyəvi, ilk ki, Python heç bir arxada nöqtəli vergül var.
>> Semicolons hər yerdə isteğe bağlıdır və zərərsiz hər yerdə.
Siz əlavə edə bilərsiniz.
Bu yazmaq insanlar edə bilər Siz yaşayış snicker üçün Python
sizin geri arxasında, çünki zəruri deyil.
Onlar tez-tez aparılır əlaməti istəyirik dil C. dizaynerlər
bu yol daha aydın olduğunu hiss və zəruri deyil ki, elan etmək
hər zaman bir xətt son.
>> Bu n haqqında başqa bir qəribə şey Bu əlavə bir növü deyil.
Python-- sehrli ədəd və mən sehrli zəng etmək üçün gedirəm
lakin çox var texniki səbəblər niyə
bir çalışır ki, Python sehrli ədəd
dəyişənlərin genişləndirmək və bilər ki, nə data ehtiva shrink
növləri onlara istəyirəm.
>> Belə ki, bu 10-dir.
Sonra aşağı, mən bu təyin n 0,5, bu 0.5 aparacaqlarına.
Burada bir int var ki, heç bir məsələ və ki, bu n edir, bir şey sal
az və ya çox, çuf olacaq bu ya olur, əgər birlikdə.
Bir çox real var halda Bu data istifadə edə bilməz səbəbi
ki, hazırda n yazın hansı nöqtədə bu almaq lazımdır
wedged və bir səhv atmaq, və hər şeyi bu cür.
>> Amma burada, Python həqiqətən nə qayğı deyil
Mən bu qalmaq gedirəm ki, cümlə, kimi, bu şey istəyirsiniz?
Ki, Bu şey?
Bəli, bu bir şey növü var.
Mən sonunda bunu qalmaq lazımdır.
Əgər, sonra bir problem olacaq ki, son istifadə etmək istəyir kimsə
onu idarə edə bilməz.
Bu əsas biri Python və C arasında fərqlər
ki, asan edir çox böyük C proqramları yazmaq
və daha asan yazmaq üçün edir çox kiçik Python proqram.
>> sintaksis üçün çox deyil Bu nə müxtəlif.
Bu qədər müxtəlif var necə ifadə edir.
Beləliklə, bu adlanır nə çox deyil Pythonic, yazılı yolu.
sıra (n) ilə üst-üstə üçün, bu 0-dan n nömrələri üçündür,
alt daxil və üst eksklüziv.
Belə ki, 0-dan n-1, var Dəqiq C kodu nə,
bir çox asandır istisna olmaqla bəlkə baxmaq üçün.
>> müvafiq blokdur aşırma ilə yola deyil,
əvəzinə off müəyyən oldu bu abzas ilə.
Belə ki, bu xətlərin bütün sağ üçün dörd fəzalarında,
və ya fil eni haqqında kimi.
Və o olan olanlardır getdiyi üçün bu edam ediləcək.
Əgər mən mess bu və I abzas
geri ki, çap itələmək orijinal abzas,
ki çap loop üçün tərk edəcək.
C fərqli olaraq, burada Mən, həqiqətən, ətrafında qapalı brace hərəkət etmək lazımdır.
>> Bu səhvlər almaq yoxdur o deməkdir ki siz həyata jump ki, çünki
səhv yerdə bir brace qoymaq.
Bu səhvlər almaq deməkdir siz həyata jump ki, çünki
bir xətt səhv indented.
Belə ki, indentations super ehtiyatlı edir.
Ümid edirəm super olan edildi hər halda sizin abzas ilə ehtiyatlı,
və bu ki, deyil bir yük çox daha çox.
>> Amma Python üçün əsas qayda, və biz bu bir neçə lazımdır
biz vasitəsilə keçmək lazımdır ki, müzakirəsi əlbəttə,
təbii sintaksis cəhd bir şey axtarır əvvəl.
Belə ki, bu sintaksis üçün intervalında bu sayı,
stil baxımından çox fərqlənir.
Python şeyi çox bu formasını alaraq görəcəksiniz.
>> Və əgər siz gəlib yeni obyekt ilə siz
siz edə olmalıdır bu formatda bu üzərində təkrarlamaq,
yəqin ki, çıxır ki, format dəstəkləyir.
Biz super dərin getmək fikrində deyilik ki, doğrudur görə texniki səbəblər.
>> Amma bu üçün faydalı bir intuisiya var Siz Python proqramları yaxınlaşır etdiyiniz zaman,
Bu şey yalnız iş edir ki.
Keçir.
Command Line up önyükleme Bu işləri Interpreter, bax
Sizdən əvvəl şeyi ilə keçin hətta Google açmaq və demək lazımdır,
üçün sintaksis nə bu şey?
Python çox siz bilər yalnız çalışır tapmaq.
>> Bu halda daha oxşardır C sonra fors var.
Heç bir parantez var ki, unutmayın.
parantez, yenə var zərərsiz lakin lazımsız.
Sonunda nöqtə var yalnız loops kimi
və yenə nisbi blokları var indented daha çox aşırma ilə yola çıxdıq.
Bu başqa orijinal edir abzas səviyyəsi,
və onun müvafiq blok yenidən indented.
Həmin iş onlar C. nə tam olaraq
>> Bu çox faktiki olaraq eynidir.
Yenə çap bir xarakter itirir printf off Siz bir strings keçir.
Bu strings çıxır ya off qeyd edilə bilər
bir quotes və ya cüt quotes.
Heç bir fərq var, ki, daxili istisna olmaqla,
bir quotes istifadə edə bilərsiniz imtina ilə ikiqat quotes,
daha olan daha onların hamısı xilas.
Və ikiqat quotes daxilində, siz əl ilə vahid quotes istifadə edə bilərsiniz
onları qurtarmaq üçün olmadan.
Siz qarışdırmaq istəyirdi onlara, əlbəttə bilərsiniz
Bunu necə online axtarmaq.
>> Siz ki, burada görəcəksiniz I = sonunda bu şey qəbul etdik.
Bu isteğe nümunəsidir o şeyi biridir dəlil,
Python dəstəkləyir ki, Bu olduqca faydalı edir.
Belə ki, çap həqiqətən bir çox var adətən arqumentlər,
onların default müəyyən dəyəri lakin burada mən var
end adlı bir yalnış qərar verdi.
Mən var səbəbi boş simli ilə yalnış
Python ki çap tərəfindən, var default, yeni xətt çap
odur ki, sonra siz də onu bildirib.
>> Belə ki, bu hash həqiqətən gedir yeni xətt bir hash çap.
Mən istəmirəm, əgər hash çap sonra yeni bir xətt, sonra demək lazımdır
bir çap etmir.
Lakin, hələ ki, son bir şey ki, Bu proqram bir var ki, itkin
bir üst daxildir.
Print belə əsasən Python daxil bişirilir heç bir mövzu və ya modulu var ki,
Siz etmək lazımdır ki, istəyirdi olsa daxildir
başqa şeylər daxildir bir Python script,
Mən bir çox oxşar format-- bunu olardı sözləri az fərqlidir.
>> Mən ki, biz qeyd Burada əsas ehtiyac yoxdur,
Python başlayır, çünki üst həyata.
Mən kesmek üçün istəyirdi funksiyası bu, I
şeylərdir mən kimi bunu def funksiyası adı deyərdim,
arqumentlər burada getmək bilər və biz lazımdır o sonra, kolon bəzi görmək
və sonra yenidən, bu bütün yola məhəllə
əməliyyat nə ki, funksiyası üçün blok.
Belə ki, bu müəyyən funksiyası.
Və sonra aşağı, bəyannamə var Burada, yalnız funksiyası edin.
Və yenə, proqram tərcüməçi, üst başlayaraq,
Bu müəyyən görəcəksiniz.
Bu qədər bu icra edəcək burada almaq, və sonra oh, kimi
İndi mən adlı etdik Mən bunu icra etməlidir danışarlar.
>> Çox var bir şey Python faylları görmək,
xüsusilə Python faylları ki ictimaiyyətə azad
və by-- inkişaf etmiş və inkişaf etmiş və saxlanılır, bu forma bir şey deyil.
Bu, belə basically-- edir Python, siz üst başlamaq
və sonra, aşağı icra Mən əgər mən Mario, burada deyilən
sonra hər hansı bir vaxt mən bu faylı daxil başqa bir fayl, mən istifadə etmək istəyirdi, çünki
Mario funksiyası digər fayl ki, var də Mario bu zəng.
Mən ki, fayl qaçdı zaman, Bu Mario adlandırardım.
>> Belə ki, mümkündür ki, mən yalnız Mən, həqiqətən, var bu almaq istəyirsinizsə
bu faylı edam.
Və mən bir bu kesmek olar deyirəm bu kimi idiom,
bu icrası adı ətraf mühit, əsas deyil
sonra mən bu şeylər etmək istəyirəm.
Əks halda başqası bilməz use-- mənim funksiyası daxildir
mənim fayl və yalnız almaq üçün bu funksiyaları daxil olmaq
şeyi run olmadan Mən bu fayl icra etmək istəyirəm ki,.
Bu bir daha, isteğe bağlıdır lakin çox ümumi.
>> Bu şeylər entirely-- olunur C və Python arasında eyni,
əlbəttə 3.
Mən 2 bölmə operator hesab bəzən geri verir üzüb gedirdi
Siz ints əməliyyat, və ya ki, istəyirdi və ya olmadı.
Amma plus, minus, dəfə beklediğiniz kimi dəqiq iş,
bir az daha növləri üzərində istisna olmaqla.
Belə ki, siz üzüb gedirdi çoxaltmaq olar ints, və hər şeyi bu cür.
>> set eyni işləyir.
Siz iki bərabər əlamətləri istifadə edə bilərsiniz.
inequals-- daha çox, az hər şeyə bu növ daha
mənaları ifadə edir ki, Onlarla tanış edirik.
>> C bu operatorları istifadə etdiyi, Python az daha İngilis istifadə edir
oxunaqlı olanları.
Belə ki, əvəzinə iki Ampersands, siz sanki "sözü yazın" və "," və ya
və ya "deyil."
Sizin Varsa kimi sizin şərti hesabatları
Biz əvvəllər gördüm ki, C, bu syntax Python bu sintaksis uyğundur.
Və bir çox fərqli deyil var orada bir az istisna olmaqla,
tərəflər ətrafında nöqtələdi.
Yenə burada C başqa olardı , Python Elif istifadə edirsə,
lakin bu əsasən yerüstü səviyyəsi dəyişir.
>> Oxşar iteration tez-tez Python bu idiom yazılı.
Siz bu cür istehsal edə bilər kənarda bir müddət loop ilə şey
istəyirdi, lakin əgər əlbəttə yoxdur.
Və yenə, əgər istəyirdi bir sıra elementləri çap
Siz bu yolu nə bilər.
Əyləncə şeyi biri baxmayaraq ki Python haqqında
Əgər ehtiyac yoxdur ki bu paradiqma istifadə etmək,
və bir istifadə edə bilərsiniz bir az daha zərif biridir.
Siz Ary bir deyə.
>> Belə ki, daha burada gedən daha və göstəriciləri üzərində çalışan,
və sonra həyata çekme fərdi elementləri,
həqiqətən, yalnız etmək üçün demək elementləri özləri basdırmaq.
Və sonra siz yapýyorsun nə daxilində birbaşa fəaliyyət göstərə bilər
olduqca fun elementlərindən,.
Və biz istifadə edəcəyik see-- lazımdır təkrar ki, idiom
biz kod vasitəsilə gəzmək kimi.
>> Bu, daha bir nümunəsidir bir şey ki, mən lazımdır
olsa da, Python sehrli zəng çox texniki səbəblər bu işləri niyə.
Və texniki şeylər var ki, məqsədilə array haqqında doğru olmaq lazımdır
bu pərdə arxasında iş.
odur ki, ən növləri Bu iş gözləyirik istədiyiniz
Bu həyata var daxili dilində siz.
>> Gözəl olardı ki, başqa bir şey Bu hər dil çalışıb əgər,
lakin bəzi səbəbləri niyə bilməz var Bu string dəfə bu sayı çap.
Bu dəqiq Python çıxır Siz yalnız əyləncə olan nə istərdim
və biz, həqiqətən deməkdir daha mario.c, bu proqramı azaldır.
Əksinə bir çox iterating daha biz yalnız mən məkanların bir sıra istəyirəm, demək
Mən hashes sayı istəyirəm, və sonunda bəzi hashes.
Və yenə, biz bu format istifadə edin.
>> Burada keçən edirik dəyişən bu şəkildə.
Yenə biz demək ehtiyac yoxdur bu dəyişən hansı növ,
yalnız vaxt və biz lazımdır səhvlər almaq run zamanda.
Zaman kimsə çalışır bir şey keçmək,
yalnız gözəl funksiyası daxil gəlmək lazımdır.
Bu deyil, çünki biz burada paz əgər Siz silsilələri üzərində yarada şey,
Mən bir iş səhv almaq lazımdır və mən bu yolu debug lazımdır.
Amma bu vaxt, mən yoxdur haqqında çox diqqətli olmaq üçün nə
faktiki olaraq belə uzun, qəbul olur icra bütün çox pakizə işləyir.
>> Mən hətta bu edə bilər bir az təmiz
xüsusi daxili funksiyası istifadə edərək strings, sağ olan haqq qazandırmaq deyil.
Bu yalnız bir faydalı funksiyası var kitabxana ətrafında yalançı.
Bu sənədlərin var Siz getmək və onu axtarmaq əgər.
Mən də mən gedirəm, demək bu simli, hashes bəzi sayı,
və mən sağ pseudocode pad haqq qazandırmaq üçün istiyorum fəzalarında ilə bu uzunluğu olacaq.
>> Yenə də, bu deyil us-- gətirir sənədləşdirmə,
Mən, həqiqətən, these-- vasitəsilə basın lazımdır olan ikinci qayda bizə gətirir
Python-- standart kitabxana üçün funksiyası üsulları sizin dost.
Və tez-tez isə dəyər Görəsən axtarır getmək üçün
əgər yalnız bu ki, bir şey var.
Yəqin ki, var.
Siz pad istəyirsinizsə simli həyata, siz istəyirsinizsə
geri almaq istəyirəm simli yarım, siz istəyirsinizsə
əgər bir string vasitəsilə axtarış kimi Siz hər şeyi bir neçə etmek üçün istədiyiniz
birlikdə simli ilə onların arasında vergülləri ilə,
standart kitabxana var Bunu etmək üçün fəaliyyət göstərir.
>> Və sizin həyat edir Əgər siz onları istifadə əgər asan
əvəzinə yayma Öz hər şey
burada kodu beş xətləri, burada kodu beş xətləri.
Bu, həqiqətən başlayır real vaxt qədər əlavə edin.
>> Maraqlı şeylərdən biri necə bu deyilən olur.
Siz dot şey var ki, görəcəksiniz.
Mən sol bir obyekt var, və sonra mən bir funksiyası bir nöqtə çağırıb.
Bu paradiqmaları biri Python edir obyektlərin üsulları əlavə üçün istifadə edir.
Biz nə bu barədə danışmaq lazımdır , sonunda çox qısa deyil
lakin biz həm də fəaliyyət göstərə bilər ki, bilirik ki, bir şey söyləyərək dot alaraq şeyi
nə olursa olsun, və ya zəng edir ki, bir funksiyası
ki, obyekt və digər dəlilləri.
>> Belə ki, bu həm yolları var ki, hər şeyi Python həyata almaq.
Və müəyyən bir olub funksionallığı həyata keçirilir
Bu stil və ya bu style bir şeydir ki,
Bir hang almaq qədər baxmaq lazımdır hansı üçün düşmək ehtimalı var.
Daha az və ya vahid var Python arxasında fəlsəfə
əsasən udmaq ki, bu bir çox yazılı tərəfindən.
Bir nöqtədə, bu bir At bir şey kimi həyata keçiriləcək
təbii olur.
İndi, yalnız bir şey var Siz anlamaq kimi öyrənmək
hər bir fərdi bir şey.
>> Belə ki, standart kitabxana funksiyaları dostları,
və onlar şeyi yazmaq edək ki, həqiqətən qısa bu çox yer tutur,
həqiqətən zərif.
Bu yəqin ki, daha əslində aydın Mən C proqram daha, demək istədiyiniz
orada.
Belə, qeyd etmək deyil Qısa Bir bütün fil uyğun
ki, kosmik biz xilas etdik.
>> Başqa bir şey, bu bir təzahürüdür Mario mən hesab edirəm dot C, ki,
Siz əldə edə bilərsiniz ən qısa edir.
Bu get int var, lakin deyil çətin kodları 10 dəyəri
bu bir edir ki, eyni şəkildə.
Çıxır ki, bu bir saat 84 simvol, Python isə 64.
Bu sonsuz daha çox Burada bu zibil çox oxunaqlı.
Belə ki, Python məkanında daha səmərəli edir.
Bu qədər az səmərəli deyil vaxt, lakin çox ilə.
>> Lists Python mühüm şey var.
Biz onları görüldü, lakin onlar deyil Diziler C. nə fəaliyyət çox kimi
Belə ki, burada, siz onları aça bilər Bir şey onları keçə bilər.
İndi meydanlarda tutan bunlar array.
Yenə elan deyil növü, lakin biz heç istifadə etməyə cəhd əgər,
Siz beklediğiniz bir şey integers bir sıra iş
işləmək üçün gedir integers bir sıra.
>> Bu bir şeydir ki, Siz tamamilə bilməz
, çünki C do yaddaş bu belə əlində deyil
lakin Python etmək çox asandır.
Mən array böyük olmaq istəyirsinizsə, mən bu bir element əlavə və gözəl var.
>> Nə pərdə arxasında olur?
tərcüməçi gedəcək həyata və bəzi yaddaş almaq,
və bəlkə bir almaq lazımdır əlavə yaddaş az,
mən mən yoxdur yoxdur hər zaman realloc.
Amma nə qədər çox var Bu yaddaş lazımdır?
Bu qərarlar deyil etmək lazımdır ki,
bu qərarlar var tərcüməçi nə gedir.
>> Burada ola bilər görmək , iki dəlilləri almaq
lakin hələ də daxil olacaq üst belə ki, biz orada 1 əlavə edin.
Bu daha bir idiom edir bu kimi şeylər yazmaq üçün ağıllı yol.
Bu siyahı anlama deyirlər və burada biz nə deyərək edirik
Mən qoymaq istərdim ki, i kvadrat bu intervalında i hər dəyəri.
Sağ Bu şey başqa ola bilər array və sol bu şey
hər hansı bir funksiyası ki, bir dəyişən kimi mən edəcək
və bəzi nəticə mənə verir.
>> Mən gedirəm edir Mən tikintisi gedirəm
bu şeyi bütün bir sıra bu sıra hər dəyər.
Bu, super qısa, super zərif və bu nə deməkdir, çox aydın deyil.
Bu biridir Bu yenidən hər şeyə
bir of-- çox emblematic səbəbləri Python kimi insanların ki.
Siz proqramlaşdırma İstəsəniz bu kimi sonra Python
Əgər öyrənmək istəyirəm bilər ki, bir dilidir.
>> Və yenə texniki var bu işləri səbəbləri.
Amma uzaq, narahat etdiyiniz kimi biz daha az və ya qayğı yoxdur.
>> Siz siyahıları çap istəyirsinizsə Belə ki, Eyni deyim bəzi faydalıdır.
Bu intervalında Mən, biz bilər bütün şeylər vasitəsilə index
və sonra onları bütün çap.
Və burada len görəcəksiniz.
Əgər almaq istəyirdi varsa serialın uzunluğu, ki
Python çox asan, Bu C. çox çətindir
Bu, məhz çap olardı nə üçün beklediğiniz.
Biz əvvəl gördüm kimi, də ola bilər massivin elementlərinin üzərində təkrarlamaq
birbaşa və sonra yalnız haqqında danışmaq Onları deyil, index olan daha
geri array hər dəfə daxil.
>> Bu edə bilərsiniz bir şeydir.
Belə ki, C, bir şey soruşsan bu kimi çap, deyərdim
ki integers bir sıra var.
Bu mütləq bir deyil simli, mən çap bilməz.
Python daha az və ya qayğı deyil.
Bu bir yol var, kimi ki, mən bir string bu çevirmək bilər?
Bəli, mən bunu edəcəyik.
Və mən ki, yalnız çap edəcəyik.
Bu o deməkdir ki, bu like-- şeyi
ağır hissələrinin ən çox on beş oyun, yazılı
Python çox qısa.
>> Siz var ki, görəcəksiniz burada of-- bir az
Mən bir string tam tökmə etdik, Mən əl bunu etmək lazımdır.
Mən əlavə etmək gidiyorum başqa simli üçün,
və ya başqa Python qarışıq olur.
Amma olduğunuzda olub bir tam bir string əlavə,
Mən almaq üçün güman edirəm geri tam və ya geri string?
Ancaq yenə də, əgər yalnız Bir şey küç zəng
və mümkün olan bilər dünya simli çevrilir,
yəqin ki, olacaq simli çevrilir.
>> Burada biz istifadə bax nested siyahısı anlama
sol, bəzi endeksleme, hansı Siz onu istifadə etmək istədiyiniz kimi dəqiq deyil,
və bəzi şeylər çap.
Yenə müəyyən etdik bəzi funksiyaları və biz onları aşağı zəng edəcəyik
Əsas biz, həqiqətən, fayl almaq zaman.
Siz istədiyiniz kimi qaytarılması dəqiq işləyir C. tap ilə işləyən gözləmək,
biz kimi şeylər bilərsiniz şeylərdir burada siyahısı anlama var
dəyişən bir tapşırıq var, və biz, həqiqətən daha asan bunu edə bilərsiniz.
Biz axtarış yazmaq lazım deyil, daxili dilinə çünki
Bu şey bu array əgər edir.
Başqa, doğru qayıtmaq saxta qayıtmaq.
Belə ki, tapmaq bütövlükdə var.
>> növ bütövlükdə sort zəng daxildir,
olan tətbiq var is-- bu müəyyən C kitabxanalar daxil inşa.
Bu istəyirsinizsə sort geri, siz
bu isteğe yalnış bilər Əsl ilə əks arqument.
Və sizə düzmək istəyirsinizsə strings ki, inşa həmçinin.
>> Belə ki, bu, demək deyil hər gün nə etmək lazımdır hər şeyi,
lakin fikir bu ki, Python fəlsəfə deyil
bütün bunlar hansı istədiyiniz sort inşa olunur etmək istəyirəm.
Və ən standart funksiyaları, belə sort, uzunluğu, nə,
ən məntiqi həssas daxil dəstəkləyir.
Siz bir sıra eyni len zəng Bir simli len zəng yol.
Siz strings sort multiply-- Siz seriallarda sort eyni.
>> Ən standart funksiyaları insanlar qurmaq,
və ən üçüncü kitabxanalar insanlar
Onlar benzetimini, çünki qurmaq standart kitabxana dizayn,
Siz etdiyiniz hər şey adlandırmaq bilər kimi, niyə bu yalnız iş deyil,
C. ya çox az, Bu Python işləyəcək
insanlar rəqəm arxasında iş, çünki bir şey və sonra fəaliyyət nə
müvafiq Bu barədə.
Belə ki, yenə, texniki fon, lakin proqramçılar kimi həyatımızı asanlaşdırır.
>> Belə ki, burada fayl I / O var. Mən fayl / O çox var Bu mürəkkəb etmək kiçik şeylər,
və belə resursları var online, lakin bir sözlə,
bir fayl açıq zəng xüsusi bir növü ilə ad.
Ki, oxumaq belə oxumaq və yazmaq və ya əlavə, yazın.
Siz bir sıra oxumaq simvol və bu çap
Siz Hello almaq lazımdır!
Bu fayl Hello idi kimi mən, demək!
Bu, oxumaq üçün zəng və geri almaq lazımdır nə
bütün simli deyil serialın istirahət,
və ya fayl qalan bütün.
Siz yenidən oxumaq zəng, Siz, fayl sonunda istəyirik
və siz almaq deyil bir şey və siz yaxın olacaq.
Yenə də, bu daha çox bağlayın edir yaxın fayl, bu, C. olardı
F bir, çünki bu ya çox az f bağlamaq üçün bir şey, və istədiyiniz.
Amma əsas fayl I / O deyil xüsusilə mürəkkəb.
Yenə bir fayl açmaq isterseniz, əgər Müəyyən bir xətt oxumaq istədiyiniz,
xüsusi həyata əldə edə bilərsiniz xətti ki, daxili ins var.
Bir yazmaq istəyirsinizsə şey, bu yaza bilərsiniz.
Siz fərdi yazmaq istəyirsinizsə sokması, bu yaza bilərsiniz.
Və təkrarlamaq istəyirsinizsə bir fayl xətləri üzərində
fərdi, biz bir parça etdi bir neçə həftə əvvəl, siz bunu edə bilərsiniz.
Yenə ən obyektlərin ki, istədiyiniz üzərində təkrarlamaq etmək istəyirəm
onların üzərində dəstək iterating.
Piton, bir fayl bir şey bəlkə ki, Mən xətti ilə xətti üzərində təkrarlamaq istərdim.
Bu bir lüğət idi və sözləri mən
bu fərdi almaq üçün çalışırıq sözləri, sonra bu loop ərzində
line olacaq Öz növbəsində və bu hər bir söz
hər xətti icra olacaq fayl sonuna qədər fayl.
Və yenə, mən hər çap əgər xətti, xətləri, yeni xətlərin ilə gəlib
mən son müəyyən alıram bu kimi bir şey geri.
Sonra mən fayl məzmunu almaq istiyorum.
>> fəaliyyət ikinci şey bəzi siyahıları kimi yolları, və bəzi yollarla
bir şey kimi əhəmiyyətli daha güclü,
həqiqətən var lüğətlər, istifadə etmək üçün sərin lakin əsasən hash olunur
maskalamaq masalar.
Siz dəqiq edərək bir yaratmaq zəhmli iki simvol,
Siz həyata keçirilməsi üçün cəhd əgər Sizin problem set üçün hash cədvəldə,
Siz ola bilər çox ağrı bilirik.
Amma insanlar etdik Bu və belə də bunu
Siz yoxdur ki, artıq bu barədə narahat.
>> Sonra fərdi şeyi əlavə edə bilərsiniz.
Hash tables-- və ya lüğət Bunu xüsusilə
Siz onlara saxlanılması edirik nə qayğı.
Belə ki, bəzi entries ədəd varsa, və bəzi entries siyahıları var,
bəzi entries digər lüğətlər varsa, və bəzi entries strings var
Python çox qayğı deyil.
>> Yenə gözləyirik bu daxil edin simli və nə geri almaq
bir sıra ki, problem var, var.
Və bəlkə kim günah var Bu şeyi qoyulması edildi fikir
lüğət, bəlkə siz idi.
Ki, kimsə idi başqa, inşallah onlar
yaxşı nə haqqında davranırdı lüğət gedirdi
və hər hansı bir pitfalls tərk etməyib Siz daxil düşmək üçün.
>> Lakin standart funksiyaları olacaq əxlaqlı şeyi geri verir.
Belə ki, onlar bu qaytarır demək strings bir lüğət geri,
Siz davam olduğunuz sonra hər şey çıxmaq üçün bir simli edir.
Bu bəzi etmək və səfərlər varsa Siz, yaxşı ki, siz ola bilərsiniz.
Python əlbəttə kifayət qədər verir Isterseniz ip, özünüz asmaq üçün.
İndi biz fərdi çap edə bilərsiniz bu elementləri və bu qaytarır
tam olaraq beklediğiniz nə.
Məhz beklediğiniz nə hərhalda, Mən çox istifadə edirəm bir söz var
Amma ki ya çox Python necə azdır.
Olmayan bir şey üçün soruşsanız Bu, Python bir səhv atmaq olacaq
və sizi tərk edəcək nə proqram idi.
Bu, həqiqətən, çap lazımdır daha çox məlumat,
bu lazımdır Səninlə qeyd edəcəyik bir xətt əlavə və belə.
>> Və yenə, bəlkə istəyirik lüğətlər üzərində təkrarlamaq
və bu hər şeyi tapa bilərsiniz.
Burada üzərində iterating olunur Eyni zamanda iki şeyi.
Və belə ki, biz əsas, dəyəri bunu edəcəyik, lakin sonra bütün bu çap.
>> Və biz cast-- istəyirdi , biz, həqiqətən, bu qaçdı əgər
biz bəzi çətinlik çünki olardı Us biz Davudun ilə getdi zaman,
etmədik əgər add-- bilmədi ilk simli üçün tökmə,
ki, array əlavə bilmədi bir simli üzərində strings.
Amma biz bir onu tökmə əgər simli, biz bir şey almaq
oxşar olan bəlkə biz oxumaq istərdim.
>> Bu speller edir.
Biz yalnız şeyi oxumaq.
Beləliklə, biz oxuya bilərsiniz xətləri kimi ayrı-ayrı sözləri.
Biz son kəsmək şey, belə ki, colon minus 1
we-- son şey off chomps bir simli sonuncu xarakter.
Biz demək lazımdır.
OK, o hər bir olur bu lüğət daxil,
1 dəyərinə mapping.
Biz bunu xüsusilə ki, bir qayğı,
lakin bu demək yalnız var, yaxşı oh, Bu şey lüğət qoymaq lazımdır.
Biz istəyirik sonra nə Çünki edəcəyimiz biz istəyirik
Bu varsa, yaxşı, demək olacaq Lüğət bütün.
>> Yenə də, bu çek üçün üzvlük əməliyyat qədər
tamamilə müxtəlif istifadə edərək, alqoritm siyahısı olacaq daha
lakin biz eyni şəkildə, zəng edən ki, Python şəkər örtüklü bəzi
şeylər ki, onlar istifadə etmək asan istəyirik.
Və yenə, biz gördük əvvəl bu kimi şeylər.
Bu əsasən tapmaq, və ya Bu eyni sintaksis var
kimi tapmaq, lakin artıq fəaliyyət göstərir tamamilə fərqli quruluşu.
Və biz xüsusilə qayğı yoxdur.
O belə şeylər ki, Speller üçün həyata istəndi.
Bu gedişlə, biz almaq olacaq və ya çox görülən psets bütün azdır.
>> Auditoriya: Belə ki, əsasən yalnız geri gəlir
bu deyil, əgər kimi düzgün yazıldığına Lüğət şey uyğun?
ROSS RHEINGANS-YOO: Bəli, bəli.
Belə ki, bu bir bir problem uyğunlaşma müəyyən
olan məhz bunu xahiş edir.
>> Auditoriya: Niyə 1 minus xətt?
ROSS RHEINGANS-YOO: Belə ki, zaman iterating edirik
bir fayl üçün xahiş üzərində xətləri, xətlər
yeni xətt xarakter ilə gəlib pseudocode mənfi 1 sonunda
bu off mağaza yalnız.
Bu xüsusilə çevik şeyi daxil indeksasiyası yolu.
Bir simli varsa, və siz də mən, istərdim
xarakter üç başlamaq niyyətindəyik Mən sonuna getmək üçün gedirəm.
3 colon sizin üçün bunu edəcək.
Siz kimi danışırsınızsa, mən başlamaq istəyirəm başlayan və son minus 1 getmək
xarakteri, kolon minus 1.
Və siz getmək istəyirdi ilk mənfi üçüncü
sonra 3 minus 1 demək ediyorum.
>> Bundan əlavə, siz index istəyirsinizsə geri hesablanması şeyi,
minus nömrələri ilə yalnız index da.
Və C, çünki partlatmağı və ya bəlkə olardı
Siz yox idi digər yaddaş qidalandırmaq Siz deyə bilərsiniz, eşitmək giriş minus 1
son deyil 1 deməkdir simli xarakter.
>> Modules version-- olunur C kitabxana analoqu
və bir çox şeyi üçün faydalıdır.
Çox şey siz istədiyiniz Python etmək istəyirəm,
sadə başqa dəyişənlərin manipulyasiya,
Siz çəngəl istəyirəm böyük ilə böyük kitabxanalar
interfeys və daha çox əlaqə imkanları
dünyanın digər hissələri ilə.
sys o biridir alətlər dəstə ilə
əlaqə üçün faydalı var ki, sistemi özü ilə
idxal SYS kimi idxal edəcək.
>> Daha çox sənədlər var , burada getmək bilər ki,
ya Google tapa bilər Python sys googling tərəfindən.
Siz yazın daxil edin.
ilk link olacaq Python 2 sənədləşdirmə,
ikinci link gedir sənədlərin Python 3. ola.
>> Və biz baxdı ki, bir fayl yazdım əgər xüsusilə şeylərdir əgər kimi, biz istəyirik
fəaliyyət baxaraq command line dəlilləri,
kimi çox nə öyrəndim erkən Bu sinif.
Bu çətin deyil. Siz argv əldə edə bilərsiniz,
olan şeyi biridir olan SYS tərəfindən həyata keçirilir.
Bu daxili deyil üçün baza paketi amma yenə sizə
idxal ilə uzada bilər SYS ki funksionallıq.
Siz sys bunu zəng edəcəyik.
nə.
Burada argv var.
Heç bir faktiki olaraq yoxdur argc SYS, çünki
len zəng asanlıqla əldə edə bilərsiniz.
Biz sonra ki, çap biz Bizim terminal echo-args.py qaçdı.
Biz bir sıra geri almaq Bu ilk dəlildir.
Yenə də, bu olan argv 0 adlı olmuşlar şey ad.
Biz əlavə ilə çağırıb əgər dəlilləri, biz bu geri almaq istiyorum.
Bu əldə bir yoldur command line dəlilləri.
Siz çevirmək bayraqları istəyirsinizsə və ya yalnış xüsusi şeylər
xüsusi default, Dostuna argparse edir.
Və yenə siz ki, online tapa python at Google argparse.
>> Kommunal bir neçə var istifadə özünüzü tapmaq modulları
və yenidən, hər hansı bir vaxt sərf əgər Bu dil jsons idxal
JSON həyata və oxu üçün faylları, mürəkkəb deyil.
Siz bir fayl açmaq, siz json.load adlı ki, fayl və bir şey geri.
Ki, şey nədir?
Bu JSON obyekt var.
Ki, JSON sıra var olduğu, Python Diziler var.
Harada ki, JSON var assosiativ diziler, Python nin
lüğətlər, strings, s və nömrələri, və.
Siz ki, zibillik istəyirəm Siz dump zəng yeni bir fayl açmaq
və yük və zibilliklərin və strings çıxmaq.
>> Eynilə, turşu adlı olur əsasən eyni interfeys.
Əgər bir az daha faydalıdır Siz Python obyektlərin dempinq edirik.
Beləliklə, siz heç saxlamaq istəyirdi varsa mövcud vəziyyəti bir versiyası
Bir gələcək üçün dəyişən Proqram run,
turşu Python nin bunu üçün kitabxana.
>> Siz hər hansı varsa, həyata yazılı bilər dəyişən
kimi sözləri və simvol və bayt bu lüğət kimi,
biz yazmaq biz kimi yazmaq bilər
idi JSON obyekt kimi sanki bu simvol.
Və sonra çox asan olacaq bir insan onu açmaq açmaq üçün
və onu oxuyun.
Biz xüsusilə olmadı oxu insanlar haqqında qayğı,
biz daha səmərəli hətta paketi bilər sonra unpacked bilər formaları
və ya daha sonra şişirdilmiş ola bilər.
Bu 80% qənaət space obyektlərin bilər ki,
Siz El yazısı onları yazdı əgər almaq.
>> Siz çox turşu zəng Eyni yolla dump yük,
və sonra sizin şeyi geri almaq.
Çox yazılı əgər Belə ki, qısa Python proqramları
dövlət saxlamaq istəyirsinizsə, və sonra oxumaq onları geri sonra, bu kimi şeylər
Sizin dostuq.
Bu, çox bilər Asanlıqla JSON kimi atmaq.
Ən Python obyektləri JSON həyata kötük bilər
ki, struktur, hər hansı bir ümid var, əgər onlar ki, yol təmsil oluna bilər.
>> Bu yalnız ucu var faydalı modulları aysberq.
Beləliklə, sys, os, multiprocessing var şeylər üçün əsas workhorses sort
biz ilə qarşılıqlı lazımdır fayl sistemi os.
, os.isdirectory, os.isfile kimi os.makefile, bu sizin dostuq.
Siz qarşılıqlı istəyirsinizsə, xüsusi fayl növü ilə,
json, turşu, csv.
Web ilə qarşılıqlı istəyirsinizsə pages, almaq üçün urllib http
pages. bs4-- BeautifulSoup-- HTML üçün gözəl bir parser var.
Bir HTML və run İndi bu nested array obyekt almaq,
Siz artıq axır bilər ki, lookin kimi yalnız axtarır
əgər fantastik olan da var.
>> Bir dəstə var running-- üçün paketləri
xüsusilə Mathy şeyler üçün.
Siz çoxaltmaq istəyirsinizsə Belə ki, , invert matrisleri çevirmək,
numpy bütün insanlar tərəfindən istifadə olunur ki, dünyada.
scipy daha faydalıdır bu istiqamətdə alətlər.
sklearn-- maşın təlim, təbii dil emal,
super faydalı stuff, olur Python hər zaman həyata keçirilir.
>> Və yenə, yüngül edir artıq üzr yazma üçün,
run qədər uzun çəkir, lakin real mühəndislər edirlər ki, səbəb
Siz olur, çünki istifadə Python deyil deyil, kodu yazılı sizə bağlanacaq
Sizin kompüter daha kodu çalışan.
Bir yazmaq olacaq əgər Belə ki, Proqram, digər insanlar çox
istifadə edir əbədi, Linux, siz kimi
Siz olsaydı C. yazmaq bilər bir hesablama mühərrik yazmaq üçün gedir,
Siz lazım əgər Python yazmaq bilər hər bir neçə ay dəyişdirmək üçün.
Bəzi insanlar onu yazmaq olardı C onlar kimi istəyirik, çünki.
>> Beləliklə, biz idxal sys gördüm şeyi əldə bir yol kimi
sizin proqram modulu almaq.
Siz həmçinin onu idxal edə bilər bir ləqəb, isterseniz.
Yenə multiprocessing bir ağrı üçün hər zaman yazın, belə ki, Milli Məclisin deputatı kimi idxal
və sonra istədiyiniz zaman sizə proqramı istifadə,
Siz mp.process demək, və ya nə lazımdır.
Siz idxal istəyirsinizsə yalnız bir şey,
belə urllib adlı bir şey var tələb, belə ki, yalnız ki, idxal edə bilər.
Daha sonra, siz kimi ibadət deyil urllib.request, ancaq tələbi kimi
özü.
>> Və siz hər şeyi edə bilərsiniz bir modul isterseniz.
Bu bəzən yaxşı bir fikirdir deyil Bu adətən bir fikirdir, həqiqətən.
Bir şey, çünki very-- Çünki ki, modul bir adı var ki,
başqa bir yerdə istifadə etmək istəyirdi proqram, siz bilməzsiniz.
>> Və bu, həmişə aydın deyil ki, işin var.
Ki, əmin etmək üçün nə etdiklərinizi, təhlükəsiz idi
Siz açmaq lazımdır modul və bütün görmək
sona adları orada funksiyaları bütün,
dəyişənlərin bütün ki, ki, modul yaşayır
Siz bütün cəlb edirik, çünki Onlara yerli ad daxil.
>> Belə ki, insanlar bunu.
Bu, ümumiyyətlə tövsiyə olunur Bunu yoxdur.
Lakin insanlar bütün bu zaman onlar istəyirik, çünki
tənbəl və millət vəkili yazın istəmirəm.
bir şey, heç.
>> Modulları haqqında bu söhbət qısa müzakirəsi ətrafında mənə gətirmək
Siz Python proqramları dizayn necə.
ilk addım görmek üçün yoxlamaq üçün hər kəsdən, artıq şey görmüşdür
və ya şey 90% aparılır.
Fırsatlarımız onlar yəqin ki, var, və onların şey almaq və axır getməlidir.
Və ya ətrafında banderol yazmaq Sizin məqsədi uyğunlaşdırmaq üçün.
Ki, var sonra yalnız var Əgər istədiyiniz uğursuz
getmək və haqqında düşünür başlamaq yazma necə birlikdə bu şey qoymaq olardı.
Məhsullarının çox var orada ki, var
ən faydalı biri Python haqqında şeylər.
Dili Like zərif, dil
həmçinin istifadə üçün asandır, lakin Bu, belə ki, zərif və istifadə üçün asandır
insanlar üçün istifadə edilmişdir vaxt uzun və stuff bir çox var
Siz ki, orada öz istifadə üçün istifadə.
>> Belə ki, Python son qayda kimsə deyil başqa yəqin ki, artıq yazıb
ki, bir modul, başqası artıq
yəqin ki, bir kitabxana yazılı.
Bir şey etmək üçün cəhd əvvəl, baxmaq Bu həyata edilmişdir görmek üçün.
Bu ki, çətin deyil.
Mən qoymaq modulları Bütün əvvəl, bəlkə bir istisna ilə,
hər önceden götürmüş gəlmək Standart Python quraşdırılması.
Və belə zəng ilə , siz hər hansı idxal
ki, funksionallığı bütün var parmaklarınızın ucunda.
>> Bu bükmək başlayaraq müzakirəsi, bir neçə şey var
Mən qara qutuları kimi tərk etdik ki, və sort üzərində cilalanacaq
bir neçə ağ I etdik ki yalan var bildirib ki, dürüstlük naminə,
Mən ən azı nöqtədə lazımdır Burada hətta əgər mən deyil
onların hamısı daxil super dərin getmək və onların texniki şərhlər.
>> Çox şey Mən sehrli adlı etdik ki,
digər insanlar zəng nə edir yönümlü proqramlaşdırma etiraz.
Belə ki, hər şeyə çox var belə dəyişənlər çox tez-tez deyil
sadə bytes, oturan yaddaş, lakin çox mürəkkəbdir
daxili var obyektləri funksiyaları və çox haqqında dövlət
gizli dəyişənlər, çox gizli funksionallığı olan
Siz strings onları çevirmək imkan verir, siz onların üzərində təkrarlamaq imkanı verir.
Və writing-- edirsinizsə və onlar ki, səbəbi
Bu zəngin funksionallığı bütün var camaata çünki
memarları language-- getdi
vasitəsilə və hər standart object, funksionallıq qoymaq
bu necə demək necə fəaliyyət gedir
kimsə üzərində təkrarlamaq istəyir.
>> Belə ki, hər şey kimsə bilər bəlkə üzərində təkrarlamaq istəyirəm,
məntiq yazdırdı özünüz etdiyiniz necə
ki, obyekt üzərində təkrarlamaq lazımdır.
Bəlkə istədiyiniz bilər hər şey bir simli daxil tökülür məntiq yazıb.
Bu halda zəng funksiyası Bir string bu zibillik istəyirəm.
Buna görə siz deyil , şeyi bu len çağırırıq
Siz üçün zəng edə bilərsiniz niyə bu deyil niyə əgər hər şey zəng edə bilərsiniz
Siz istəyirəm ki, çünki onlarla daşıyan bütün bu,
texniki know-how bunu.
>> Bu Mən bir şey deyil super getmək niyyətində deyil.
Amma siyahısında üçün bir şey subtly var loops üçün C stil fərqli,
və siz bu barədə bütün oxuya bilərsiniz internet Əgər istəyirsinizsə.
Bir qaranlıq tərəfi bütün var Bu, mən qeyd,
belə ki, iki şey var.
ilk bu obyekt yönümlü ki, proqramlaşdırma yerüstü bir çox əlavə
təsadüfi şeylər, belə ki, son up çox daha çox yaddaş istifadə;
Bir az daha çox istifadə son vaxt başqa ki, artıq.
other-- lakin daha Bu məkrli qaranlıq tərəfi
hər şeyi yalnız hərəkət əgər, kimi onları istəyirəm
Siz super ağır düşünmək olmadan bu bir int olmalıdır olub
və ya olmalıdır olub float, burada artıq ola bilər
Siz artıq burada int hasil ancaq hesab edirəm ki, lakin onlar üzr always-- lazımdır,
Burada ki, ola bilər Bir float istehsal,
lakin ikinci hissəsi olmaq Proqram, siz düşüncə etdiyiniz,
yaxşı oh, lakin onlar lazımdır həmişə mənə bir int keçir.
Onlar deyil varsa, mümkündür ki, bir yerdə sıxışan
Siz index istifadə etmək üçün cəhd edin bir sıra daxil, və ya nə var.
>> Real belə bir C haqqında faydalı şeylər
bu, həqiqətən düşünməyə məcbur Siz any-- etmək çətin əvvəl
Əgər hər hansı bir dəyişən yaratmamışdan əvvəl mövcud kimi nə
Bu dəyişən növüdür.
Və bu var olacaq bütün müddət növü.
>> Bu doğru deyil Python, və əslində, siz
Yalnız əgər can-- sort qulaq gedir,
və bəzi qərarlar qəbul etmək yol bir yerdə bir,
və bəzi qərarları bir başqa yerdə yol
arxasında kifayət qədər məhsulları qoyulması olmadan başqa yerdə səhnələri
Düzgün şeyi tutmaq üçün, çox qəribə səhvlər əldə edə bilərsiniz.
Və proqram yayınlanmaya davam edə bilər çox uzun müddət üçün, bu, çünki
bir çox iş etdiklərini də, demək üçün Bu şey bu yolu fəaliyyət bilər,
belə ki, mən ki, yol çalıştırmak üçün gedirəm.
>> Və əslində, əslində bu itiyor ki, kiçik səhvlər bir çox yolu ilə irəli
deməkdir, tez-tez zaman ki, bir səhv həqiqətən pis
və həqiqətən bunu düzeltmek üçün istəyirəm, Bu proqram yoxlamaq olardı mil bitir
üz mil dayandırılması bitir Siz səhv idi zaman.
Və belə bir şey, biz istərdik ki, etmək üçün proqramları, bir şey sometimes--
biz proqramları istəyirəm ki, Biz ayıklama etdiyiniz zaman nə etmək
ucadan uğursuz və çox uğursuz deyil tez bir şey yanlış gedir zaman.
>> Python ki, çox pis.
Python deyil çox yaxşı uğursuz və irəli yayma
gözlənilməz şeylər vasitəsilə.
Belə ki, bu zaman üçün faydalıdır Siz kiçik proqramları yazılı edirik.
Siz mürəkkəb almaq zaman bugs bəzən
Onları həyata tease üçün uzun zaman alır.
>> Belə ki, bir qaranlıq tərəfi bütün var bu kimi yalnız çalışır.
Siz beklediğiniz kimi yalnız çalışır.
Bu deyil zaman son istisna olmaqla tam fərqli bir yerdə
və harada həyata rəqəm çalışır bu, yanlış getdi idi.
>> Zibil toplama belə is-- siz görəcəksiniz bir şey
bunlar hər hansı bir ki, Mən existence-- daxil gətirdi etdik
bu serialların, bu lüğətlər, bu obyektlərin, azad almaq heç vaxt fayllar bu.
Heç bir zəng var idi Bu söhbət hər hansı bir pulsuz.
Və çünki, C-tərəfində idi biz o şeyi daxil var, heç vaxt.
>> Amma Python-yan, pulsuz yoxdur.
Things avtomatik əldə zaman Python azad
Siz onlara baxaraq deyilik düşünür.
Bu şeyi həqiqətən yaxşı azad deyil ki, Siz hələ bəlkə baxaraq bilər
lakin bu o deməkdir ki, siz olsaydı Bu böyük şey ayrılması gedir,
və oh, kimi istəyirik Mən indi ilə bitirdim
Bu Python demək çətindir ki, indi ilə tamamlayın.
>> Siz bəzən bilərsiniz ki, dəyişən heç olmaq,
və sonra nəhayət ümid zibil kollektor
gəlir və onu təmizləyir.
Ancaq yenə də, siz deyil ki, nəzarət var.
Və səbəblərindən biri insanlar C istifadə həqiqətən, tənqidi şeyi performance
bu qabiliyyəti həqiqətən deyil yaddaş ayrılmış izlə
və bu azad və var zaman deyərək üzərində nəzarət çox
Mən ehtiyac çox mən heç bir daha çox yaddaş istifadə edirəm.
Hansı bir şeydir ki, Python da böyük deyil.
Auditoriya: Mən sizə bir sual edə bilərəmmi?
Ucadan uğursuz siz nə demək istəyirdi?
>> ROSS RHEINGANS-YOO: Belə ki bir şey yanlış gedir
və ayıklama etdiyiniz rejimi, siz çox tez-tez ki
Proqram demək istəyirəm dəqiq səhv getdi,
və yalnız sakit çalışan dayandırmaq deyil.
Amma siz bunu çap həqiqətən istədiyiniz məlumat bütün növ haqqında
kimi, burada bu idi.
Siz çap edirsinizsə Bu şey baş verib Bir web server çalıştırıyorsanız bir wen--
>> Auditoriya: [işitilemez]
>> ROSS RHEINGANS-YOO: Bəli, əgər Bir web server çalıştırıyorsanız
Siz əgər bəzən pis həmişə səhvlər discarding,
və deyərək edirik, yaxşı iş deyil.
Mən dayandırmaq gedirəm.
Mən yalnız ignore gedirəm Bu və saxlamaq olur.
Sonra yüzlərlə əldə edə bilərsiniz, çünki bu səhvlərin və onları görmək.
>> Bu, əlbəttə, faydalı olardı ayıklama məqsədləri üçün
hər zaman web server əgər bir səhv, siz ki, davamlı qeydlər var idi.
Bəlkə hətta proqram istəyirəm dayandırmaq ki, həmin qeydlər
nə etdiklərinizdən altında dəfn almaq deyil.
Ancaq yenə də, bu hata rejimi var.
>> Tez-tez istehsal rejimi, dünya bir az fərqli.
Mən çalışan alıram kiçik yazıları, Mən bunu dedi şey
yalnız bir az off ola bilər Mən bunu istəyirəm nə
sonra sort vasitəsilə basmaqla səhvləri istədiyiniz bilər bir şey deyil.
Və o hallarda, əlbəttə Python həqiqətən başlayır qazanır.
>> Mən danışmaq deyil ki, son şey şeylərdir ki, mən danışmaq etməyib
lakin həqiqətən ilk dəli ola bilər dəfə bu səhvlərin biri var
ikinci və üçüncü və dördüncü dəfə bir bu səhvlər var.
Python, mən qeyd Bu ağ kosmik edir ki
siz abzas hansı səviyyədə demək və etdiyiniz funksional nə məhəllə,
Bu fərqli Nişanlar və boşluq alır.
Əgər nişanı dörd Belə ki, sonra növbəti line dörd boşluq var,
onlar kimi göstərmək, hətta sizin redaktor eyni məbləği,
Python onlara eyni müalicə deyil.
>> Əslində, Python Nişanlar alır neft və su kimi boşluq.
Onlar yalnız fərqli şeylərdir.
Heç bir xüsusi var nişanı uzunluğu,
nişanı 8 bərabərdir kimi, belə ki, bu deyil fəzalarında, və siz ətrafında almaq olardı
yol.
Kimi, deyir zaman, nə Mən deyiləm ağ kosmik səviyyəsi,
bu, həqiqətən axtarır fəzalarında və Nişanlar model.
Beləliklə, ən yaxşı şəkildə bu ilə məşğul həmişə fəzalarında hər zaman istifadə etməkdir.
>> Və əslində, Cloud9 da IDE və CS50 IDE,
Sizin Tab əsas edər Dörd fəzalarında əvəzinə da
super faydalı nişanı olan.
Yenidən baxmayaraq, bir Python yazdı əgər gözəl olardı Nişanlar ilə proqram,
yalnız əgər var kimsə getdi və əlavə etmək üçün cəhd
proqram üçün bir xətt ki, hər nişanı üçün dörd boşluq var idi
qırmaq.
Və bu şəkildə qırmaq ki, həqiqətən görünən deyil.
Faktiki səhv olsa da Bu salır mesaj
Yeni nə var burada gözlənilmir indent
or-- Bu indents söhbət əgər yanlış kimi və bu, görünür
Bu yəqin ki, çünki var nişanı-space problem var.
Onlar hələ də debug dəli edirik.
ən böyük bütövlükdə Mən deyil, bu müzakirəsi,
Bu, həqiqətən, çünki almaq mürəkkəb, incə mövzu,
və heç nə lazım deyil idi Biz bu günə qədər etdik şeyi,
tuples adlı bir anlayış var.
Onlar kimi orada çox var Siz dəyişdirə bilməz Diziler.
Onlar yer, çünki bütün istifadə almaq Onlar şeyi çox üçün faydalıdır
Diziler üçün faydalı deyil.
>> Amma bir sıra etmək istəyirsinizsə, və sonra tərcüməçi söz ki,
heç vaxt dəyişdirmək istədiyiniz gedir əslində şey edir, dəyişdirmək istəyirsinizsə,
Yeni ilə yeni bir etmək lazımdır pseudocode həmin dəyərlər tuples var.
Əksinə istehsal çox Onlara kvadrat mötərizədə ilə,
Siz dəyirmi Mötərizədə ilə istehsal edir.
Niyə bu şeylər istifadə edir, bir sual bir az. .
Yalnız şey lazımdır ki, haqqında demək
kimi tuples istifadə edə bilərsiniz lüğətlər üçün göstəriciləri.
Siz seriallarda istifadə edə bilməz lüğətlər üçün göstəriciləri.
Və niyə, yenə, texniki və Mən bu daxil fikrində deyiləm.
>> Mən toxunub yoxdur pset Bu söhbət də pset6 edir.
Belə ki, burada ediyorum necə burada a-- həyata
necə Python pset6 həyata keçirəcəklərini.
Python yadda saxlamaq dizayn dövrü, ilk şey
Siz etdiyiniz zaman ki, yazı proqramları check deyil
Kimsə artıq həyata görmek üçün.
>> Əslində, əgər siz Apache 50 serve-- üçün
təxminən bu, yoxdur Bu gəlmir istisna olmaqla,
standart Linux maşın yüklü.
Python edir və Python sadə http server də yox.
Bir Linux maşın heç danışırsınızsa, və ya CS50 Cloud9 IDE kənarda
və bu cari xidmət etmək istərdim xüsusi limanına directory,
python-m SimpleHTTPServer port ki, xidmət edir.
Siz həmçinin edə bilərsiniz sadə http server
və funksionallıq bir çox əgər var Siz onu dəyişdirin və ya dəyişdirmək istəyirsinizsə,
və ya o üçün istifadə idarə olunur Öz server xidmət axır.
>> Belə ki, Python özetle var.
Bu CS50 olmuşdur.
Təşəkkür edirəm.