0
字幕組雙語原文:如何從零開始學(xué)習(xí)Python【真·小白入門】
英語原文:Learn Python From Scratch, With One Article
翻譯:雷鋒字幕組(赟瑾和鳴、Danielan、求求你了救救孩子)
別著急,我們需要先知道Python是什么。我可不太喜歡沒有什么解釋的大詞。
簡單來說,Python就是一種你告訴電腦應(yīng)該怎么做的方法。你也許會問,電腦怎么聽得懂英語呢?
Python有個編譯器,會在運行的時候讀取你的代碼。然后再將其轉(zhuǎn)換為電腦操作,有關(guān)開源的部分,我稍后再說。
寫下Hello World是你在學(xué)任何編程語言時做的第一件事,除了讓你對第一次代碼運行感到興奮,它也會幫你檢測目前運行環(huán)境是否正常。
我們第一個運行的程序!
可讀性--我們注意到打印指令用的是“print”,這也許很明顯,但是相信我,在別的編程語言中,會很麻煩,比如“ System.out.println(要打印的文本) ”
這種命令結(jié)構(gòu)很重要,print是一個函數(shù),一個在計算機世界中接受輸入的函數(shù),同時它也生成輸出,這個函數(shù)不會返回任何東西,但是它會將任何你想要的東西打印到屏幕上。
變量是編程的磚瓦,有些是系統(tǒng)內(nèi)置的標(biāo)準(zhǔn)變量,如數(shù)字,字符串,列表值,有些則是自定義,我們會在文章的最后一起創(chuàng)建自定義變量。
變量就像一個容器,是一個代表一個或多個值的名稱。重點是,它真的就是一個容器而已!
現(xiàn)在變量的意義應(yīng)該不言自明了吧,聲明一個變量就是將某個值賦予該變量,如果要作冪(乘方)的話只需要用“*”。運算順序就像初中數(shù)學(xué)一樣,從左往右寫,括號內(nèi)優(yōu)先。先乘除,后加減,注意順序,這很重要!
現(xiàn)在字符串應(yīng)該是一個更廣泛的話題了,函數(shù)的個數(shù)是無限的,但是基本內(nèi)容都在這了,添加字符串只是合并起來,你可以在字符串變量中觀察其子字符串,利用切片,確定位置(比如從0-2或者任何你喜歡的范圍)。
“l(fā)en”函數(shù)會顯示一個對象的長度,通過這種方式,我們可以從初始字符串提取“Hello World”這一子字符串。請讀者好好思考一下,我并不想填鴨式地給你們灌輸內(nèi)容,這會毀了整個學(xué)習(xí)體驗的。
列表在儲存和操作大量數(shù)據(jù)方面又快又好,是在Python中最常用的一個對象。
記住絕大多數(shù)情況下,對于列表的操作改變的是其本身,簡單的復(fù)制列表(淺拷貝)并非真正復(fù)制(深拷貝),這有些超前了,但是如果你想拷貝一個列表,請這樣做:
(上述操作第二行事實上拷貝的是儲存地址,lst3和lst本質(zhì)上是一個對象;第三行拷貝的是值,而不是儲存地址)
相信我,之后你會感謝我的!
元組,集合和字典有很多可以介紹,但是篇幅有限,我會介紹一些基本用法。
計數(shù)用字典;元組防止值被篡改;集合不允許出現(xiàn)重復(fù)的值并且處理數(shù)據(jù)很快。
這里是一些簡潔明了的小技巧!
Python的collections模塊是個被低估的庫,它能助你的編程水平更上一層樓
如果你沒有做過任何大型開發(fā)應(yīng)用,代碼效率應(yīng)該不會嚇到你,用列表作為起步剛好。
流程控制只是if-else語句的一個花哨名稱
Elif-僅當(dāng)在if語句為假時執(zhí)行。
縮進(jìn),縮進(jìn),縮進(jìn)!
我不能再強調(diào)Python中的新開發(fā)人員僅僅因為這個原因而犯了多少錯誤,這四個空格決定了語句塊,注意print語句在if塊中的位置,如果將它從if代碼塊中移走的話,if語句什么都不會做。
另一個重要的地方,==不賦值,它只能計算出True和False。
“elif”只在if語句失敗時出現(xiàn),它是為了避免在數(shù)字大于5時進(jìn)行測試然后在數(shù)字大于8(只是個例子)的時候再次測試。
將and和or組合是個檢查多個語句的方法。
你可以在列表,元祖,字典甚至字符串中進(jìn)行迭代,以下是它怎么實現(xiàn)的:
循環(huán)能讓你重寫多次任何你想寫的。你只需要寫一次,然后讓代碼在那你想要的次數(shù)之后停下來就可以了(例如while loop)
或者你想以迭代的形式每次只處理一個數(shù)據(jù),可以使用上圖中animel的方法。
今日的內(nèi)容即將接近尾聲,請集中注意力。
函數(shù)需要輸入,并對輸入做一些操作,之后回送給用戶反饋——也即輸出。
如果你能記住這句話,那么這就是你將要做的大部分工作。
函數(shù)讓我們可以一遍又一遍地行使多個操作,而不用重復(fù)敘述。并且,它使得代碼的可讀性提升了,當(dāng)你讀到這行代碼——if test_even,很好理解,這個函數(shù)就是檢查一個數(shù)是否是偶數(shù)。這種方式讓讀者可以更好地理解你寫得代碼。可讀性十分重要。
現(xiàn)在類是自定義對象的構(gòu)成要素,把它看作是一個建筑藍(lán)圖,它將教你如何建造一個建筑。
你可以根據(jù)這個藍(lán)圖建造兩個建筑,它們都是一個建筑,但不是同一個建筑,這很重要,一個類描述的是一個事物,一個對象,但它不是對象本身。
OOP(面向?qū)ο缶幊蹋┦且粋€深刻而先進(jìn)的主題,第一段代表了它的基本概念,但它是一個值得一系列文章去探討的問題,而不是一篇文章。
現(xiàn)在一個對象有兩個主要的特征,它們是屬性和函數(shù)(方法),“它是什么和它能做什么?!?/p>
最后一件事,藍(lán)圖是Cat類,使用這個類我可以創(chuàng)建對象(cats),如下所示。
self屬性指的是對象,而不是類,基本上說,是這個貓的年齡,或者是這個貓的性別,所以它叫self,它指的是對象。
我們可以創(chuàng)建像play這樣的自定義函數(shù),在這種情況下,它做不了什么,但是我們也可以重寫內(nèi)置的python函數(shù),比如add(在本例中,我讓它們產(chǎn)生了一個新的cat對象)或__repr__來替換print函數(shù)。
這個解釋只是冰山一角,但你必須從某個地方入門。
盡管我知道這篇文章還有很多東西要寫,我的意思是-非常多,但是如果你給予足夠的關(guān)注,它可以在短時間內(nèi)教會你Python的基本原理,這樣,你可以深入到更高級的主題中。
也許完全改變了你的職業(yè)生涯,把你所做的一切工作自動化,這篇文章也許只是一小步,但卻是一個非常需要的步驟!
希望你喜歡!
雷鋒字幕組是一個由 AI 愛好者組成的翻譯團隊,匯聚五百多位志愿者的力量,分享最新的海外AI資訊,交流關(guān)于人工智能技術(shù)領(lǐng)域的行業(yè)變革與技術(shù)創(chuàng)新的見解。
團隊成員有大數(shù)據(jù)專家、算法工程師、圖像處理工程師、產(chǎn)品經(jīng)理、產(chǎn)品運營、IT咨詢?nèi)?、在校師生;志愿者們來自IBM、AVL、Adobe、阿里、百度等知名企業(yè),北大、清華、港大、中科院、南卡羅萊納大學(xué)、早稻田大學(xué)等海內(nèi)外高校研究所。
如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學(xué)習(xí)新知,分享成長。
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。