俗話說的好,千里之行始於足下。無論做什麼事情,基礎都是最重要的,當你以為自己“精通”某語言的時候,有沒有問過自己: “能不能把這些知識,用最簡單的話說出來,讓不懂的人也能聽明白?” 當你真正精通某語言的時候,我相信你一定能做到。如果做不到,那就需要往下看,再學習一下基礎。 為了幫助大家徹底理解Pyt ...
俗話說的好,千里之行始於足下。無論做什麼事情,基礎都是最重要的,當你以為自己“精通”某語言的時候,有沒有問過自己:
“能不能把這些知識,用最簡單的話說出來,讓不懂的人也能聽明白?”
當你真正精通某語言的時候,我相信你一定能做到。如果做不到,那就需要往下看,再學習一下基礎。
為了幫助大家徹底理解Python,七月線上針對各大知識點進行了圖片化和文字化顯示。
涵蓋了大量文字概念和代碼的邏輯處理思路以及對應案例,可以直接通過文字概念和圖片的邏輯處理流程,來輔助自己對知識的消化和吸收。
一、認識Python
Python 是一種電腦程式設計語言。是一種動態的、面向對象的腳本語言,最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。
Python 的創始人為荷蘭人吉多·範羅蘇姆(Guido van Rossum)。1989 年聖誕節期間,在阿姆斯特丹,Guido 為了打發聖誕節的無趣,決心開發一個新的腳本解釋程式,作為ABC語言的一種繼承。
ABC 是由 Guido 參加設計的一種教學語言。
就 Guido 本人看來,ABC 這種語言非常優美和強大,是專門為非專業程式員設計的。
但是 ABC 語言並沒有成功,究其原因,Guido 認為是其非開放造成的。
Guido 決心在 Python 中避免這一錯誤。同時,他還想實現在 ABC 中閃現過但未曾實現的東西。
就這樣,Python 在 Guido 手中誕生了。
可以說,Python 是從 ABC 發展起來。Python 已經成為最受歡迎的程式設計語言之一。
自從 2004 年以後,python 的使用率呈線性增長。Python2 於 2000 年 10 月 16 日發佈,穩定版本是 Python2.7 。
Python3 於 2008年 12 月 3 日發佈,不完全相容Python2。2011年1月,它被 TIOBE 編程語言排行榜評為 2010 年度語言。
由於 Python 語言的簡潔性、易讀性以及可擴展性,在國外用 Python 做科學計算的研究機構日益增多,一些知名大學已經採用 Python 來教授程式設計課程。
例如卡耐基梅隆大學的編程基礎、麻省理工學院的電腦科學及編程導論就使用 Python 語言講授。
眾多開源的科學計算軟體包都提供了 Python 的調用介面,例如著名的電腦視覺庫OpenCV 、三維可視化庫 VTK 、醫學圖像處理 庫 ITK 。
而 Python 專用的科學計算擴展庫就更多了,如下麵3個十分經典的科學計算擴展庫:NumPy、SciPy 和 matplotlib,它們分別為 Python提供了快速數組處理、數值運算以及繪圖功能。
因此 Python 語言及其眾多的擴展庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、製作圖表,甚至開發科學計算應用程式。
二、Python應用場景
1. Web應用開發
Python經常被用於Web開發。比如,通過mod_wsgi模塊,Apache可以運行用Python編寫的Web程式。
Python定義了WSGI標準應用介面來協調Http伺服器與基於Python的Web程式之間的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以讓程式員輕鬆地開發和管理複雜的Web程式。
2. 操作系統管理、伺服器運維的自動化腳本
在很多操作系統里,Python是標準的系統組件。大多數Linux發行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在終端下直接運行Python。
有一些Linux發行版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的Anaconda安裝器。
Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標準庫包含了多個調用操作系統功能的庫。
通過pywin32這個第三方軟體包,Python能夠訪問Windows的COM服務及其它Windows API。
使用IronPython,Python程式能夠直接調用.Net Framework。一般說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優於普通的shell腳本。
3. 網路爬蟲
Python有大量的HTTP請求處理庫和HTML解析庫,並且有成熟高效的爬蟲框架Scrapy和分散式解決方案scrapy-redis,在爬蟲的應用方面非常廣泛。
4. 科學計算
NumPy、SciPy、Pandas、Matplotlib可以讓Python程式員編寫科學計算程式。
5. 桌面軟體
PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程式的利器。
6. 伺服器軟體(網路軟體)
Python對於各種網路協議的支持很完善,因此經常被用於編寫伺服器軟體、網路爬蟲。
第三方庫Twisted支持非同步網路編程和多數標準的網路協議(包含客戶端和伺服器),並且提供了多種工具,被廣泛用於編寫高性能的伺服器軟體。
7. 游戲
很多游戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫游戲的邏輯、伺服器。
相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。
8. 構思實現,產品早期原型和迭代
Google、NASA、Facebook都在內部大量地使用Python。
三、Python基礎知識
1. 語法基礎:註釋
在程式中對某些代碼進行標註說明,這就是註釋的作用,能夠大大增強程式的可讀性。python 常用單行註釋是 # ,常用多行註釋是三對單引號 ''' '''
2. 語法基礎:數據類型
3. 語法基礎:關鍵字和標識符
關鍵字
python 一些具有特殊功能的標識符,這就是所謂的關鍵字。關鍵字,是 python 已經使用的了,所以不允許開發者自己定義和關鍵字相同的名字的標識符
那麼 python 中關鍵字都有哪些呢? 那麼咱們如何去查詢 python 中有哪些關鍵字呢?
溫馨提示:咱們在起變數名或者文件名時不能使用這些關鍵字名字喲,否則會報錯.拋出異常~請大家註意喲。
標識符
祖國的花朵(開發人員)在程式中自定義的一些符號和名稱。標示符是咱們自己定義的,如變數名、函數名、類名等。
標識符規則
定義這些標識符也有一定的規則:標識符由字母下劃線和數字組成,但是不能以數字開頭,可以使用下劃線或字母開頭,註意在 python 中,標識符是嚴格區分大小寫的喲。 變數 Andy 不等於 變數 andy 這是兩個變數。
標識符命名規則
命名規則,可以簡單的理解為,咱們在起名字的時候是需要遵守相關規則的.主要是為了讓別人一看就明白是什麼意思,做什麼用的.可以提高代碼可讀性。比如:名字 就定義為 name , 定義學生用 student。
駝峰命名法
同時呢,在需要多個單詞進行組合時,咱們使用駝峰命名法:
小駝峰式命名法: 第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog
大駝峰式命名法: 每一個單字的首字母都採用大寫字母,例如:FirstName、LastName。不過在程式員中還有一種命名法比較流行,就是用下劃線“_”來連接所有的單詞,比如send_buf
名字和對象之間關係
我們可以用 = 等號,建立立定義的變數名字和對象之間的引用關係,也可以用使用 del 來解除這種引用關係。
# 舉個例子
name = '天下第一帥' # 我將 天下第一帥 這個字元串賦值給了 name 這個變數名,可以理解為,下次我通過 name 名字可以聯繫到 天下第一帥 這個人.
實際操作 實際操作
名字空間
當我們在定義了一些變數名,函數名,類名之後,會有一個空間來收納這些名字和它們所對應的數據類型和數據內容。
實際操作 使用 %whos 查看名字空間,我們也可以使用 %reset 來清空這個空間,清空之後,我們就需要重新執行一次定義的過程,才能重新存儲在名字空間內。 實際操作
4. 語法基礎:輸出
普通的輸出
python中的輸出
用 print() 在括弧中加上字元串,就可以向屏幕上輸出指定的文字。比如輸出 '李鐵柱',用代碼實現如下: 運行結果 print()也可以列印整數,或者計算結果 實際操作 因此,我們可以把計算100 + 200 的結果列印得更漂亮一點: 實際操作
註意,對於100 + 200,Python 解釋器自動計算出結果 300,但是,'100 + 200 =' 是字元串而非數學公式,Python 把它視為字元串,直接進行列印輸出。
5. 語法基礎:格式化輸出
格式化操作的目的,比如說有下列代碼: 大家仔細觀察一下,能夠看到,我在 print 輸出自我介紹的時候,用了很多的相同字體,就只有一些不同的欄位,那麼咱們能否簡化一下程式呢?
在程式中,看到了 % 這樣的操作符,這就是 Python 中格式化輸出 。 運行結果
在這裡咱們一次使用了兩個格式化符號,分別是:%s 和 %d。
%s:表示格式化輸出字元串
%d:表示格式化輸出十進位整數
除了這兩個格式化輸出字元還有很多,往下看。
常用的格式化符號
6. 語法基礎:輸入
現在,你已經可以用 print() 輸出你想要的結果了。但是,如果要讓用戶從電腦輸入一些字元怎麼辦?Python 提供了一個 input(),可以讓用戶輸入字元串,並存放到一個變數里。比如輸入用戶的名字:
當你輸入name = input()並按下回車後,Python互動式命令行就在等待你的輸入了。這時,你可以輸入任意字元,然後按回車後完成輸入。
輸入完成後,不會有任何提示,Python 互動式命令行又回到就緒狀態了。那我們剛纔輸入的內容到哪去了?答案是存放到 name 變數里了。可以直接輸入 name 查看變數內容:
7. 語法基礎:運算符
標準操作符
python 同大多數語言一樣,也有自己的操作符,分別用來應對不同的工作內容。今天要講的是 Python 中最常用的幾種標準操作符:算術運算符、賦值運算符、比較運算符、邏輯運算符。
算數運算符
註意:混合運算時,優先順序順序為: ** 高於 * / % // 高於 + - ,為了避免歧義,建議使用 () 來處理運算符優先順序。並且,不同類型的數字在進行混合運算時,整數將會轉換成浮點數進行運算。
實際操作 賦值運算符
實際操作 複合賦值運算符 實際操作
8. 語法基礎:常用的數據類型轉換
數據類型轉換
有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你只需要將數據類型作為函數名即可。
以下幾個內置的函數可以執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。 類型轉換
操作結果