廖雪峰python教程day1(python3廖雪鋒)

本文目錄一覽:

廖雪峰的python教程有一點地方沒看明白,求指導

題主貼了兩遍函數,似乎是一樣的,下面就分析這一個版本:

def add_end(L=None):

    if L is None:

        L = []

    L.append(‘END’)

    return L

不明白題主說的“一直往裡面加END”是怎麼回事。函數里既沒有循環也沒有遞歸,怎麼會“一直”加。。。

關於默認參數,其作用是:使 add_end()的返回值 與 add_end(None)的返回值相同。因此下面不再單獨分析輸入0個參數的情形。

“return的L是全局變量,而傳入的參數L是局部變量”這個說法很奇怪。當傳入的L是None時,該函數的會新生成一個list,向其中加入一個字符串‘END’,並返回這個新生成的list。而當傳入的L是一個list,哪怕是空list時,該函數的作用是向傳入的這個L新加一個元素’END’,並返回傳入的那個L。

L.append(‘END’)這一行,如果縮進的話:當函數傳入的L不是None時,就不會向傳入的這個L新加一個元素’END’。因此縮進與不縮進的效果是不一樣的。

Python小白求教,望大佬幫忙!

digits[s] s 代表 digits 裡面的鍵,鍵的類型是字符串

如果 char2num 單獨使用的話應該是 char2num(“0”)

第二個函數拆解

看完廖雪峰的python,但是感覺自己掌握不紮實,不知道該怎麼做

python感覺自己掌握不紮實,不知道該怎麼做

不管學習什麼新的東西,效率最低但是又不可或缺的環節就是看教科書了。雖然看書的過程可能會很無聊,但是過一遍書至少能對整個知識框架有個大體的把握。我最早知道 Python 還是在《黑客與畫家》這本書中看到的,書裡面有一章節是講編程語言的,作者很推薦把 python 作為學習編程的入門語言。我當時是把《簡明 Python 教程》給過了一邊,後來又看了一遍《深入python》,這裡特別推薦《深入 Python》,除了介紹 python 的基本特性之外,還介紹了諸如函數編程、正則表達式、處理 HTML 和 XML等高級用法。除了看書,上公開課也是挺不錯的,視頻教學本來就比自己啃教科書有意思,而且完成課程作業也能鍛煉動手編程能力。我上過兩門不錯的公開課,一門是萊斯大學在 Coursera 上開的《Python交互式編程導論》,一邊學 python,一邊寫些小遊戲,肯定不會覺得無聊;另一門就是 MIT 在 edX 上開的《計算機科學及python編程導論》,它是 MIT edX系列課程(XSeries)中的第一課,系列課程共兩門,除了這門課以外還有《計算思維及數據科學導論》,不過第二門就沒有上過了。

《簡明 Python 教程》

《深入 Python》

《Python交互式編程導論》

《計算機科學及python編程導論》

另外,我和題主的情況有點像,也不是學計算機專業的,並且同樣對自己的專業不感興趣,以後也是想從事與數據科學相關的工作。我目前的狀況都是在自學,上公開課,看教科書,跟大牛們的技術博客。

如何系統地自學 Python

是否非常想學好 Python,一方面被瑣事糾纏,一直沒能動手,另一方面,擔心學習成本太高,心裡默默敲着退堂鼓?

幸運的是,Python 是一門初學者友好的編程語言,想要完全掌握它,你不必花上太多的時間和精力。

Python 的設計哲學之一就是簡單易學,體現在兩個方面:

語法簡潔明了:相對 Ruby 和 Perl,它的語法特性不多不少,大多數都很簡單直接,不玩兒玄學。

切入點很多:Python 可以讓你可以做很多事情,科學計算和數據分析、爬蟲、Web 網站、遊戲、命令行實用工具等等等等,總有一個是你感興趣並且願意投入時間的。

廢話不多說,學會一門語言的捷徑只有一個: Getting Started

¶ 起步階段

任何一種編程語言都包含兩個部分:硬知識和軟知識,起步階段的主要任務是掌握硬知識。

°1 硬知識

“硬

知識”指的是編程語言的語法、算法和數據結構、編程範式等,例如:變量和類型、循環語句、分支、函數、類。這部分知識也是具有普適性的,看上去是掌握了一

種語法,實際是建立了一種思維。例如:讓一個 Java 程序員去學習 Python,他可以很快的將 Java 中的學到的面向對象的知識 map 到

Python 中來,因此能夠快速掌握 Python 中面向對象的特性。

如果你是剛開始學習編程的新手,一本可靠的語法書是非常重要的。它看上去可能非常枯燥乏味,但對於建立穩固的編程思維是必不可少。

下面列出了一些適合初學者入門的教學材料:

❖「笨方法學 Python」:

這本書在講解 Python 的語法成分時,還附帶大量可實踐的例子,非常適合快速起步。

❖「廖雪峰的 Python 2.7 教程」:Home – 廖雪峰的官方網站

Python 中文教程的翹楚,專為剛剛步入程序世界的小白打造。

❖「The Hitchhiker’s Guide to Python!」:The Hitchhiker’s Guide to Python!

這本指南着重於 Python 的最佳實踐,不管你是 Python 專家還是新手,都能獲得極大的幫助。

❖「Python 官方文檔」:Our Documentation

實踐中大部分問題,都可以在官方文檔中找到答案。

❖ 輔助工具:Python Tutor

一個 Python 對象可視化的項目,用圖形輔助你理解 Python 中的各種概念。

Python 的哲學:

用一種方法,最好是只有一種方法來做一件事。

學習也是一樣,雖然推薦了多種學習資料,但實際學習的時候,最好只選擇其中的一個,堅持看完。

必要的時候,可能需要閱讀講解數據結構和算法的書,這些知識對於理解和使用 Python 中的對象模型有着很大的幫助。

°2 軟知識

“軟知識”則是特定語言環境下的語法技巧、類庫的使用、IDE的選擇等等。這一部分,即使完全不了解不會使用,也不會妨礙你去編程,只不過寫出的程序,看上去顯得“傻”了些。

這些知識的學習,取決於你嘗試解決的問題的領域和深度。對初學者而言,起步階段極易走火,或者在選擇 Python 版本時徘徊不決,一會兒看 2.7

一會兒又轉到 3.0,或者徜徉在類庫的大海中無法自拔,Scrapy,Numpy,Django

什麼都要試試,或者參與編輯器聖戰、大括號縮進探究、操作系統辯論賽等無意義活動,或者整天跪舔語法糖,老想着怎麼一行代碼把所有的事情做完,或者去構想

聖潔的性能安全通用性健壯性全部滿分的解決方案。

很多“大牛”都會告誡初學者,用這個用那個,少走彎路,這樣反而把初學者推向了真正的彎路。

還不如告訴初學者,學習本來就是個需要你去走彎路出 Bug,只能腳踏實地,沒有奇蹟只有狗屎的過程。

選擇一個方向先走下去,哪怕臟丑差,走不動了再看看有沒有更好的解決途徑。

自己走了彎路,你才知道這麼做的好處,才能理解為什麼人們可以手寫狀態機去匹配卻偏要發明正則表達式,為什麼面向過程可以解決卻偏要面向對象,為什麼我可以操縱每一根指針卻偏要自動管理內存,為什麼我可以嵌套回調卻偏要用 Promise…

更重要的時,你會明白,高層次的解決方法都是對低層次的封裝,並不是任何情況下都是最有效最合適的。

技術湧進就像波浪一樣,那些陳舊的封存已久的技術,消退了遲早還會涌回的。就像現在移動端應用、手游和 HTML5 的火熱,某些方面不正在重演過去 PC 的那些歷史么?

因此,不要擔心自己走錯路誤了終身,堅持並保持進步才是正道。

起步階段的核心任務是掌握硬知識,軟知識做適當了解,有了穩固的根,粗壯的枝幹,才能長出濃密的葉子,結出甜美的果實。

¶ 發展階段

完成了基礎知識的學習,必定會感到一陣空虛,懷疑這些語法知識是不是真的有用。

沒錯,你的懷疑是非常正確的。要讓 Python 發揮出它的價值,當然不能停留在語法層面。

發展階段的核心任務,就是“跳出 Python,擁抱世界”。

在你面前會有多個分支:科學計算和數據分析、爬蟲、Web 網站、遊戲、命令行實用工具等等等等,這些都不是僅僅知道 Python 語法就能解決的問題。

爬蟲舉例,如果你對計算機網絡,HTTP協議,HTML,文本編碼,JSON一無所知,你能做好這部分的工作么?而你在起步階段的基礎知識也同樣重要,如

果你連循環遞歸怎麼寫都還要查文檔,連 BFS 都不知道怎麼實現,這就像工匠做石凳每次起錘都要思考鎚子怎麼使用一樣,非常低效。

在這個階段,不可避免要接觸大量類庫,閱讀大量書籍的。

°1 類庫方面

「Awesome Python 項目」:vinta/awesome-python · GitHub

這裡列出了你在嘗試解決各種實際問題時,Python 社區已有的工具型類庫,如下圖所示:

你可以按照實際需求,尋找你需要的類庫。

至於相關類庫如何使用,必須掌握的技能便是閱讀文檔。由於開源社區大多數文檔都是英文寫成的,所以,英語不好的同學,需要惡補下。

°2 書籍方面:

這裡我只列出一些我覺得比較有一些幫助的書籍,詳細的請看豆瓣的書評:

科學和數據分析:

❖「集體智慧編程」:集體智慧編程 (豆瓣)

❖「數學之美」:數學之美 (豆瓣)

❖「統計學習方法」:統計學習方法 (豆瓣)

❖「Pattern Recognition And Machine Learning」:Pattern Recognition And Machine Learning (豆瓣)

❖「數據科學實戰」:數據科學實戰 (豆瓣)

❖「數據檢索導論」:信息檢索導論 (豆瓣)

爬蟲:

❖「HTTP 權威指南」:HTTP權威指南 (豆瓣)

Web 網站:

❖「HTML CSS 設計與構建網站」:HTML CSS設計與構建網站 (豆瓣)

列到這裡已經不需要繼續了。

聰明的你一定會發現上面的大部分書籍,並不是講 Python 的書,而更多的是專業知識。

事實上,這裡所謂“跳出 Python,擁抱世界”,其實是發現 Python 和專業知識相結合,能夠解決很多實際問題。這個階段能走到什麼程度,更多的取決於自己的專業知識。

¶ 深入階段

這個階段的你,對 Python 幾乎了如指掌,那麼你一定知道 Python 是用 C 語言實現的。

可是 Python 對象的“動態特徵”是怎麼用相對底層,連自動內存管理都沒有的C語言實現的呢?這時候就不能停留在表面了,勇敢的拆開 Python 的黑盒子,深入到語言的內部,去看它的歷史,讀它的源碼,才能真正理解它的設計思路。

這裡推薦一本書:

「Python 源碼剖析」:Python源碼剖析 (豆瓣)

這本書把 Python 源碼中最核心的部分,給出了詳細的闡釋,不過閱讀此書需要對 C 語言內存模型和指針有着很好的理解。

外,Python 本身是一門雜糅多種範式的動態語言,也就是說,相對於 C 的過程式、 Haskell 等的函數式、Java

基於類的面向對象而言,它都不夠純粹。換而言之,編程語言的“道學”,在 Python

中只能有限的體悟。學習某種編程範式時,從那些面向這種範式更加純粹的語言出發,才能有更深刻的理解,也能了解到 Python 語言的根源。

這裡推薦一門公開課

「編程範式」:斯坦福大學公開課:編程範式

講師高屋建瓴,從各種編程範式的代表語言出發,給出了每種編程範式最核心的思想。

值得一提的是,這門課程對C語言有非常深入的講解,例如C語言的范型和內存管理。這些知識,對閱讀 Python 源碼也有大有幫助。

Python 的許多最佳實踐都隱藏在那些眾所周知的框架和類庫中,例如 Django、Tornado 等等。在它們的源代碼中淘金,也是個不錯的選擇。

¶ 最後的話

每個人學編程的道路都是不一樣的,其實大都殊途同歸,沒有迷路的人只有不能堅持的人。雖然聽上去有點雞湯,但是這是事實。

希望想學 Python 想學編程的同學,不要猶豫了,看完這篇文章,Just getting started~

python教程哪裡下載?

python教程可以到【達內教育】官網諮詢下載。該機構各大課程體系緊跟企業需求,企業級項目,課程穿插大廠真實項目講解,對標企業人才標準,制定專業學習計劃,囊括主流熱點技術。

python入門學習:

第一階段Python基礎與Linux數據庫。這是Python的入門階段,也是幫助零基礎學員打好基礎的重要階段。需要掌握【Python】基本語法規則及變量、邏輯控制、內置數據結構、文件操作、高級函數、模塊、常用標準庫模塊、函數、異常處理、MySQL使用、協程等知識點。

第二階段WEB全棧。這一部分主要學習Web前端相關技術,需要掌握HTML、CSS、JavaScript、jQuery、BootStrap、Web開發基礎、VUE、FlaskViews、Flask模板、數據庫操作、Flask配置等知識。

第三階段數據分析+人工智能。這部分主要是學習爬蟲相關的知識點,需要掌握數據抓取、數據提取、數據存儲、爬蟲並發、動態網頁抓取、scrapy框架、分布式爬蟲、爬蟲攻防、數據結構、算法等知識。感興趣的話點擊此處,免費學習一下

想了解更多有關python學習的相關信息,推薦諮詢【達內教育】。該機構是引領行業的職業教育公司,致力於面向IT互聯網行業培養人才,達內大型T專場招聘會每年定期舉行,為學員搭建快捷高效的雙選綠色通道,在提升學員的面試能力、積累面試經驗同時也幫助不同技術方向的達內學員快速就業。達內IT培訓機構,試聽名額限時搶購。

廖雪峰python教程在哪

這是他的網站地址:

這是python專欄(有python2.7,python3,可供選擇):

基礎學習的話,夠用了,但沒有太多的習題供練習,只是在每個章節的最後,會提出一些小問題,可以自己練習下,也可以留言請教。

其實主要還得靠自己多寫,多練。

原創文章,作者:GK1T0,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128033.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
GK1T0的頭像GK1T0
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論