正如人與人之間的溝通需要語言,人與計算機之間的溝通,也需要語言,連線人與計算機溝通的橋樑就是程式語言。任何程式語言只要用來開發程式,都懷揣著同一使命——“為人類幹活”,將人類的需求“翻譯”成計算機能看得懂的機器指令,讓計算機代替人類去幹活。
為什麼選擇python
Python可以說是程式語言中罕見的既簡單又強大的一門語言,python語言簡潔,語言優雅,功能強大,使用python,你只需要專注於問題的解決方案,而不是苦惱於程式語言的語法和結構。Python的發明者“Guido van Rossum”給python貼的標籤是“簡潔”和“優雅”,即對於程式語言的新手都能迅速上手使用python。下面總結了python語言的三大閃光點:
資料科學領域的主流語言
隨著大資料時代的來臨,人們越來越意識到資料的重要性,資料分析師被稱為二十一世紀最性感的職業。python緊挨著R語言,以短短几年時間迅速成為資料科學領域中程式語言的後起之秀,為該領域提供了大量功能強大的模組。
擁有成熟的程式包資源庫
Python除了其自帶的標準庫外,還擁有大量的豐富且強大的第三方庫,避免了一些“重複造輪子”的工作。PyPI是python官方的第三方庫的倉庫,擁有超過85000個python模組和指令碼的資源庫,堪稱是python語言的“寶藏”。
跨平臺的先驅者
python可以在Windows、Linux·、macOS眾多不同平臺使用,且其程式碼都是開源的,非常貼心。同時,python經過多個版本的修訂及完善,其執行也非常穩定,能保證你的程式碼能暢快執行。
怎麼學python
俗話說得好,“摩天大樓從地起”,學習任何程式語言都一定要把該語言的基礎打牢,而怎麼打地基呢?祕訣只有一條:多敲程式碼多敲程式碼多敲程式碼。學習前期建議找一本講python基礎的書或部落格,把裡面的例題跟著操作一遍,在基礎打紮實後,可上一些比較出名的競賽專案的網站如kaggle等,通過做專案去鞏固知識。
推薦書籍:《Python基礎教程(第3版)》Magnus Lie Hetland著
推薦理由:全面介紹了Python的基礎知識、基本概念,高階主題,還有Python程式測試、打包、釋出等知識,及10個具有實際意義的Python專案的開發過程,涉及的範圍較廣,既能為初學者夯實基礎,又能幫助程式設計師提升技能,適合各個層次的Python開發人員閱讀參考。
基礎知識
程式碼規範
- 縮排
相比於其他語言用大括號和end來標識程式碼塊,python語言比較“獨特”,其通過程式碼的縮排來標識所屬程式碼塊,通常4個空格為一個縮排,可用tab鍵實現。縮排是python程式碼的重要組成部分,若你的程式碼縮排格式不正確,如同一段程式碼塊語句縮排不一致,首句未頂格等,都會執行出錯。
#一個完整的語句首句要頂格
i=0
#同一程式碼塊的語句應縮排一致
for i in range(5):
print(i)
i+=1
- 註釋
程式語言的註釋,即對程式碼的解釋和說明。給程式碼加上註釋,可提高程式碼的可讀性,當你閱讀一段他人寫的程式碼時,通過註釋迅速掌握程式碼的大致意思,讀起程式碼將更加得心應手。
python語言的註釋分為單行註釋和多行註釋,在註釋符後的內容計算機會自動跳過不去執行。
單行註釋:在需註釋語句前加“#”,可在程式碼後使用,也可另起一行使用
i=1 #在程式碼後使用註釋
#另起一行使用註釋
多行註釋:在語句開頭和結尾處加三個單引號或三個雙引號(前後須一致)
‘’’
使用單引號的多行註釋
‘’’
“””
使用雙引號的多行註釋
“””
使用註釋除了起到望文生義,迅速瞭解程式碼意思的作用外,還有一個小妙處,可以將某段未完成或需要修改的程式碼隱蔽起來,暫時不讓計算機執行。
- 多行語句
python中預設以行結束作為程式碼結束的標記,而有時候為了閱讀方便,我們需要將一個完整程式碼跨行表示,這時候我們可以使用續行符:反斜槓“\”來將一行語句分為多行顯示:
score = eng_score + \
math_score + \
his_score
注意:若語句中使用大括號{}、中括號[]或小括號()將資料括起來,則不需要使用續行符,如下所示:
name=[‘Ada’,’Ailsa’,’Amy’,
‘Barbara’,’Betty’,’Blanche’
‘Carina’,’Carrie’,’Carry’
‘Daisy’,’Darcy’,’Diana’]
什麼是演算法
在學習使用python之前,要先明確使用python的目的是什麼?作為一名資料分析工作者,我們並不需要使用python語言來設計程式,只需要使用python來完成演算法的實現。那麼演算法又是什麼呢?
演算法是指解決某項問題的流程或步驟,我們可以用一個很貼近生活的例子去理解,假如你需要做一道“蕃茄炒雞蛋”,根據菜譜:先準備食材,然後下油熱鍋,將蕃茄倒進去翻炒後,加入蛋液翻炒至熟。
這就是我們完成“蕃茄炒雞蛋”這道菜所用的“演算法”,而完成這個演算法所需要的就是原料和操作說明,下面來看看原料和說明是什麼。
變數
Python語言中的“原料”即物件,在python裡萬物皆物件,而物件通過引用變數唯一存在,引用上面的例子,可以將”雞蛋”理解為”物件”,而給它取的名字”小紅家雞生的蛋”則是”變數”。
變數的概念想必大家不會陌生,和中學方程中學的變數基本上是一致的.變數可以理解為對事物的一個代號或者貼的一個標籤,是一個可重複使用的量;而不同於方程中的變數,程式語言中的變數不僅僅是數值型, 還可以是字元型、邏輯型等其他資料型別。
- 變數的性質
先定義後使用
在python中引用變數需要先定義,否則會報錯,但與其他程式語言如C語言不同,python定義變數不需要事先定義變數型別,變數型別隨變數所賦值的型別決定
可重複賦值及運算
在python中變數可以重複賦值使用,變數間也可相互賦值,同時可以對變數進行運算操作
#變數可重複賦值
i=2
i=3
#可對變數做運算
i+1
#檢視變數的資料型別
type(a)
- 變數的命名規則
只能包含:數字、字母、下劃線
不能以數字開頭,不能包含python保留字、關鍵字、函式名
慎用小寫字母l和大寫字母O, 避免與數字1和0混淆
建議用駝峰命名法,即以單詞加“”命名,如:studentname
#檢視python有哪些保留字
import keyword
print(keyword.kwlist)
- 變數的賦值
基本賦值
在python中,我們使用“=”對變數進行賦值,如“x=3”。這裡要注意,資料和變數是分開儲存的,即在記憶體中先建立資料“3”,然後建立一個標記“x”,再將x指向記憶體中的值。若重新對變數x賦值為“2”,實質上是修改了資料的引用,變數x重新指向記憶體中的資料“2”。
多重賦值
對同一物件可以引用多個變數,例如一個人可以有多重身份,Mr Li 是一位父親,同時也是一位教師,不同的變數,實質指向的物件是同一事物。
father = teacher = ‘Mr Li’
多元賦值
對多個變數同時賦值,等號兩邊可加括號可不加
a,b,c=1,2,3
(a,b,c)=(1,2,3)
語句
瞭解完演算法中的“原料”,我們再來看看演算法中的“操作說明”是什麼呢?演算法中的“操作說明”可以說是演算法的“靈魂”,就好像一道菜完成的作品如何,很大程度取決於廚師的廚藝(即做菜祕籍)。構成演算法“操作步驟”的是語句,其中包含python的基本語句和控制流程語句。控制流程語句的語法相對較複雜,在後面的文章再繼續介紹,我們先認識一下python的基本語句:
其實前面我們已經接觸過python的基礎語句:賦值語句,賦值語句較簡單不展開介紹,下面主要介紹python另一個使用特別廣泛的基礎語句:輸出與輸入語句。
- 輸出語句
python中輸出值的方式主要有兩種:表示式和print( )函式,兩者的區別在於,表示式輸出的結果為一個python物件,而在實際運用中,為方便閱讀,通常需要按照一定格式輸出結果,print( )函式就很好地解決此問題。
print( )語法:
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
print( )引數:
objects – 複數,表示可以一次輸出多個物件。輸出多個物件時,需要用 , 分隔。
sep – 用來間隔多個物件,預設值是一個空格。
end – 用來設定以什麼結尾。預設值是換行符 “\n”,可換成其他字串。
file – 要寫入的檔案物件。
flush – 輸出是否被快取通常決定於 file,但如果 flush 關鍵字引數為 True,流會被強制重新整理。
#列印多個值,設定中間分隔符為“-”
print(“廣州”,”上海”,”深圳”,sep=”-“)
#先以預設結尾符”\n”輸出,再以結尾符設定為“-”,注意區別二者區別
print(“廣州”)
print(“上海”)
print(“深圳”)
print(“廣州”,end=”-“)
print(“上海”,end=”-“)
print(“深圳”,end=”-“)
以上程式碼實行結果為:
- 輸入語句
在python中獲取鍵盤輸入資料的函式是input()函式,input函式會自動將輸入的資料轉為字串型別,並自動忽略換行符,同時可給出提示字串。如果需要得到其他型別的資料,可對其進行強制性型別轉換。
input( )語法:
input([prompt])
input( )引數:
prompt: 給輸入者的提示資訊,可選引數
age=input(“請輸入您的年齡:”)
如果您是以下幾種情況之一:
想了解更多有關大資料分析、資料探勘、機器學習、人工智慧領域內容的好學者;
職業遭遇瓶頸,想提升自己在資料分析或人工智慧領域的硬體技能的在職人士;
尋求新出路、新突破,有意向轉行到資料分析行業或人工智慧領域的求職人士;
對未來搖擺不定,有興趣想Python、資料分析、人工智慧方向發展的在校大學生。
可給我們私信,簡要說明一下您的個人計劃或學習需求,我會第一時間讓專業的諮詢顧問為您答疑解惑。
本作品採用《CC 協議》,轉載必須註明作者和本文連結