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