1. 程式人生 > >從能做什麽到如何去做,一文帶你快速掌握Python編程基礎與實戰

從能做什麽到如何去做,一文帶你快速掌握Python編程基礎與實戰

選擇結構 好處 過濾 類和對象 最重要的 既然 項目 能力提升 for語句

摘要:Python語言的教程雖然隨處可見,但是忙於日常業務/學習的你或許:一直想要“找個時間學一點”,但是又不知道該從何下手?本文將從Python能做什麽,如何學習Python以及Python的基礎知識為你的Python之路點上一盞明燈。

本文內容根據演講視頻以及PPT整理而成。

本文的分享主要圍繞以下幾個方面:

  • Python能做什麽?(常見應用場景介紹)
  • 如何學習Python?
  • Python語法基礎實戰
  • Python面向對象編程實戰
  • 練熟基礎:2048小遊戲項目的實現與實戰

福利:小編從事python開已有數年,最近整理了完整一套適合0基礎入門的python學習資料來分享給大家;添加小編學習qun813542856即可。然後覺得文章不錯麻煩幫小編點個轉發,小編在這感激不盡。

技術分享圖片

一、Python能做什麽?

技術分享圖片

一種編程語言往往可以應用於多方面,有些方面比較常用,有些方面極為常用。上圖中標紅的部分是Python極為常用的領域。首先,利用Python可以進行簡單腳本編程,比如使用Python編寫2048小遊戲或12306的自動搶票軟件。其次,可以使用Python進行系統編程,開發系統應用。第三點,Python一個較為常用的功能就是開發網絡爬蟲。網絡爬蟲的用途是進行數據采集,也就是將互聯網中的數據采集過來。網絡爬蟲的難點其實並不在於爬蟲本身,由於網站方為了避免被爬取回采取各種各樣的反爬蟲措施,而如果想要繼續從網站爬取數據就需要解決這些反爬蟲措施,所以網絡爬蟲的難點在於反爬的攻克和處理。第四點,Python極常用於WEB開發,可以借助Python開發WEB站點,比如個人博客、在線教育網站以及論壇等。第五點,在運維方面,Python可以用於自動化運維,可以通過寫Python腳本實現對於服務器集群進行自動化管理。第六點,Python可以用於網絡編程,比如Socket編程等。第七點,Python極常用的一個方向就是數據挖掘、機器學習等大數據與人工智能領域方向的程序開發,比如在人工智能領域,使用Python就可以很容易地實現算法模型,並且借助Python可以很容易地處理相應的數據。

作為系列文章的首篇,本文將為大家分享Python的基礎知識。而學習Python基礎的第一步就是認識Python可以幹什麽,通過上面的內容,大家可以了解到Python語言可以做很多事情,或者可以說Python基本上是一門全能的語言。Python在各個領域都很優秀,而最重要的一點就是Python比較易學。綜上所述,Python是一門非常棒的語言。

二、如何學習Python?

首先與大家分享一些方法論,究竟應該如何學習Python?其實學習任何一門知識,方法都是類似的,有些同學習慣直接看書或看視頻,這些方法都不錯,但是在學習的過程中需要掌握一些技巧,這樣學習起來會事半功倍。

成體系地學,不搞“題海戰術”

首先,要學就要成體系地學,不搞“題海戰術”。遇到新知識就去查,然後就知道了,反復這樣就是所謂的“題海戰術”,這樣做的好處就是用到了就會去尋找,但是缺點就是腦海裏面的知識體系會非常亂,而且越學越亂,因為太多東西在腦海中不成體系地堆積導致非常難以利用,所以需要成體系地學習。所謂成體系地學習,就比如在學習基礎時可以先掌握數據類型、控制結構、函數以及模塊等,將這些知識形成體系。構建知識體系就像寫書一樣,在寫書的過程中不可能想到哪裏就寫到哪裏,而應該有一個大致的框架。成體系地學習的好處就是無論怎樣學習都不會亂。而且最開始的體系不一定是非常完備的,比如在剛開始學習編程語言的時候可能並不知道叠代器和生成器,但這並不會影響知識體系的建立,而在後續學到叠代器和生成器的時候,再將這一部分的知識加入到知識體系中就可以了。但是這樣的前提就是在腦海中一定要有一個非常清晰的體系結構,學到的新知識都可以歸入到體系中,如果遇到了知識體系中沒有的內容就可以對應地進行補充,這樣就形成了非常清晰的體系結構,這樣的學習方法收益會比較大。

不僅要“摹”,還要“臨”

其次,不僅要“摹”,還要“臨”。“臨摹”是練習書法的手段,所謂“臨”就是看著字帖中的字,憑著印象在紙上書寫並且盡量復現字帖中的字;所謂“摹”就是在字帖上面蒙上一層薄白紙,然後在上面跟著字帖直接描。在“臨”與“摹”中,顯然後者更為簡單。其實,學習任何一門知識都一樣,不僅要“摹”,還要“臨”。在學習Python等編程語言時,一些同學可能學習時看看視頻就過去了,這樣顯然是不可取的,好一點的同學會在看過視頻之後,跟著視頻把代碼敲一遍,但是這樣只是進行了“摹”,應該在此基礎之上加上“臨”的步驟,也就是關上視頻、合上書本之後,憑借記憶對代碼進行復現,去想自己的代碼需要實現哪些功能,這樣才能將知識真正地吸收。這樣練習久了之後就會發現自己的能力提升得非常快。

通所有不如精一物,精一物方可通所有

第三個學習方法就是通所有不如精一物,精一物方可通所有。大家在學習的時候可能會遇到很多的框架,但是其實並不需要掌握所有的框架,比如對於爬蟲而言,既可以學習Scrapy,也可以學習urllib,還可以學習其他的框架。其實並不用掌握所有的框架,學習時可以深入地掌握其中一兩個框架,之後就會發現所有的框架都是萬變不離其宗的。精通一兩個框架之後,其他的框架也會很容易掌握。學習編程語言也是一樣的,當你精通了PHP或者Java,Python也能很快學會,但是如果同時學習Java、Python和PHP,最終可能導致每一門語言都不精通。其實學習過程的曲線在剛開始的基礎階段上升會非常慢,但是只要上手之後,進度就會非常快,所以大家在學習基礎的時候一定不要著急。

三、Python語法基礎實戰

在Python語法的基礎實戰這部分將與大家分享數據類型、控制結構、函數與模塊、文件操作與數據庫操作以及異常處理等內容。

Python基礎知識入門

在Python中輸出直接使用print()函數,如果在Python文件中重復四次print("Hello Python"),那麽輸出時就是四次“Hello Python”。如果想讓某一行代碼不起作用,可以使用註釋。在Python中有兩種比較常見的註釋方案,第一種是單行註釋,在行首加“#”,這樣就會註釋掉這一行代碼;第二種是多行註釋,多行註釋一般使用“‘‘‘”或“"""”(三引號)實現,直接將需要註釋的代碼段的首部和尾部加上三個引號即可。

數據類型

在學習任何一門編程語言時,都需要了解這門編程語言有哪些數據類型。在Python中,常見的數據類型有數、字符串、列表、元祖、集合以及字典等。

數:就是數學上的數字,比如“a=7”就是將數字7賦值給a,這裏的等號是賦值的意思。想要查看對應的數據是什麽類型可以使用type()函數查看,比如7就是int整形,7.0就是float浮點型。

字符串:一系列字符所組成的序列叫做字符串。字符串一般使用引號將其引起來,這裏使用單引號和雙引號均可。比如:

技術分享圖片

上述代碼所表達的內容是相同的,區別在於使用單引號和雙引號所引起來的內容不能直接換行,而使用三引號就可以。

列表:存儲多個元素的容器,列表中的元素可以被重新賦值,也就是說列表中的元素是可以變化的。建立列表可以通過“[]”實現,在其中可以放置數據。比如:a=[]表示a是一個空列表。再比如a=[a1,a3],列表中每個元素之間使用逗號隔開,a這個列表中包含了a1和a3兩個元素。取其中的元素可以通過下標實現,比如a[1]就可以取出a1的值。而列表中的元素可以被重新定義,比如使用a[1]="hello" 就可以對原本a[1]的位置進行賦值,這就說明了列表中的元素是可以變化的。

元組:存儲多個元素的容器,但是元組中的元素不可以被重新賦值。比如c=(7,"cd",9),c存儲了一組數據,如果想要對c中任意位置賦值成為其他的數據,都是不可以的,因為元組內的數據是不能被更改的。所以,元組一般在對數據安全要求較高時使用,這也是元組與列表的區別。

字典:字典相當於關聯數組,所謂關聯數組就是裏面需要存儲一對信息的數組。列表和元組存儲的元素都是一個,而字典存儲的元素都是一對信息如d={"name":"weiwei","sex":"boy","job":"teacher"}這樣的{鍵:值, 鍵:值, ...}。在取值的時候直接使用字典名["對應鍵名"]即可,比如對於上訴d這個字典,使用d["name"]就可以取到"weiwei"這個值。

集合:集合也是用於存儲一組數據的,只不過集合的特性是不允許出現重復的元素,這一點大家早在高中就已經學習了。所以,集合的一個非常簡單的應用就是去重,之所以說這個方法簡單,是因為去重還有很多的實現方法,比如布隆過濾器等都是非常好的去重方式。在Python中直接通過set就可以直接建立集合,比如e=set("abcdefgabc"),而集合是通過“{}”存儲的,只不過大括號裏面直接存儲元素。而當輸出e時就會發現,原本重復的內容就只保留一個。此外,集合還可以用於差集的運算,比如e=set("abcgjkhsgkjha"),f=set("jikhsdghsdueigdsfzau")直接使用g=e-f就可以獲得e與f的差集。

運算符

以上的這些數據類型歸根結底都是數據。數據是靜態的,而通過運算符進行運算就可以讓這些數據動起來。Python裏面的運算符有哪些呢?首先就是大家非常熟悉的“+-*/%”,這些運算都滿足數學規律。除了“+-*/%”之外,還有字符串連接符“+”,如果想要將兩個字符串連接起來只需要用“+”即可。

縮進問題

可能某些同學對於Python的縮進比較反感,會覺得縮進很麻煩並且非常容易出錯。但是實際上,縮進很美,當打開Python項目時就會發現層次感很強,會感受到代碼的美感,哪些代碼屬於同一層級是一目了然的。縮進所需要掌握的規律就是最開始的代碼頂格,第二點就是同一層級的代碼在同一個縮進幅度上,下一個層級的代碼在下一個縮進幅度上。當掌握了縮進規律之後,再去寫Python代碼就會很容易了。

控制結構

所謂控制結構就是程序的執行結構,程序可以像流水賬一樣順序執行下去,也可以跳躍、循環以及分支執行,這些多種的執行方式叫做控制結構。實際上,Python中最常用的控制結構只有三種就是:順序結構、選擇結構和循環結構,當然還有一些不常用的控制結構比如中斷結構等。

順序結構不必多講,就是按照順序寫,程序也就按照順序執行。在Python中,分支結構通常使用if語句實現,如果if的條件為真,則執行下面對應的代碼,否則繼續向下看是否有分支結構,如果有則繼續執行,否則就執行這一部分內容;如果if的條件為假,就不執行下面對應的代碼。如下示例代碼:

技術分享圖片

上述代碼中第3行的if條件判定結果為真,程序會執行第4行至第6行代碼。如果第3行的if判定為假,則繼續向下面找尋分支。第7行和第9行都存在elif,其意思就是在不滿足if的情況下如果滿足elif的條件,就執行elif下面的代碼,如果上述兩行的elif條件都不滿足,在第11行還有一個else,其意思就是在上述條件都不滿足的情況下,執行else下面的代碼。上述代碼最終將會輸出“gsdajk”。這裏值得說明的一點就是如果實際情況不需要,可以沒有elif以及else等語句,也就是可以單獨使用if語句。

循環結構也是一個極為重要的結構。在Python中,循環結構有相應的方法去實現,常用的有兩種:while和for語句。while語句的格式如下所示:

技術分享圖片

四、Python中面向對象編程實戰

上述內容幫助大家了解了Python在語法層面的基礎知識,接下來為大家分享Python中面向對象編程實戰。面向對象編程一般區別於面向過程,其更適合於中大型的項目的開發。

認識類和對象

面向對象編程主要是通過“類”和“對象”實現的。舉例而言,具體的某個人就是“對象”,小明是一個對象,小張也是一個對象,而將“對象”共有的特點抽象出來就能夠形成“類”,比如小張和小明都是“人”,那麽“人”就是一個“類”,所以“類”就是類型的意思。只不過面向對象的類是自定義的。“類”是抽象出來的,“對象”則是具體的。

如果想要建立一個類則可以使用class字段進行聲明:

技術分享圖片

如下示例代碼,建立了一個名為cl1的類,類中的內容是“pass”,就是一個占位符,不會起到任何作用,但如果沒有pass則會出現縮進錯誤。

技術分享圖片

而將類實例化成為對象可以使用類名後面加括號並直接賦值給一個對象,如a=cl1(),那麽a就是cl1這個類的一個對象。

五、練熟基礎:項目實戰

上面為大家介紹的Python知識非常零散,但是也非常重要,既然想要掌握Python,就需要使用實際項目進行鞏固和提升,當將項目實現之後,對應的能力也就自然掌握了。

從能做什麽到如何去做,一文帶你快速掌握Python編程基礎與實戰