“人生苦短,我用Python”。Python編程語言是最容易學習、並且功能強大的語言。只需會微信聊天、懂一點英文單詞即可學會Python編程語言。但是很多人聲稱自己精通Python,然後自己卻寫不出Pythonic的代碼,對很多常用的包不是很瞭解。萬丈高樓平地起,咱們先從Python中最最基礎的開始 ...
“人生苦短,我用Python”。Python編程語言是最容易學習、並且功能強大的語言。只需會微信聊天、懂一點英文單詞即可學會Python編程語言。但是很多人聲稱自己精通Python,然後自己卻寫不出Pythonic的代碼,對很多常用的包不是很瞭解。萬丈高樓平地起,咱們先從Python中最最基礎的開始。
01 Python的優點
Python是一種類似人類講話的語言
極其簡單易學的語言
也是開源的語言之一
可移植性良好,在各大平臺都可以運行,比如Windows、Mac、Linux上都可運行
豐富的第三方庫:只有你想不到,沒有Python做不到
解釋性語言:可以直接從源代碼運行。
既支持面向對象編程,又支持面向過程編程。
可擴展性好,部分程式可以使用其他語言編程,比如C/C++
02 Python開發環境
目前,主流的Python開發環境有三個(開發環境也被稱為IDE, Integrated Development Environment),分別是PyCharm、Anaconda 和Jupyter Notebook,我們稱之為Python三劍客。為了說明它們的主要區別,筆者引用Python實戰圈圈友勞元輝的一段話:“我三劍客在手,感覺可以屠進天下報表和模型。Anaconda,最主要是整體開發環境和第三方庫的安裝方便;Pycharm,最主要執行整個報表腳本和各種數據源的獲取還有定時腳本執行;Jupyter notebook,最主要是模型訓練,每步即時執行,可以可視化看到結果。”。這段話精確總結了三者的區別。如果想瞭解更多Python實戰圈,請掃碼前言中的二維碼,或關註微信公眾號data_circle.
03 變數
常量,顧名思義就是值不能被改變的量,比如5、10等數字或者一個字元串的文本。它字面的意思就是本身的含義,不需要多的解釋。
與常量相對應的就是變數,顧名思義就是值一直在改變的量。因為值在改變,我們需要給它取一個名字,也就是標識符。Python編程中,我們叫標識符為變數名,並且使用等號(=)把變數名和值關聯起來,
定義變數,並使用print函數列印出來
# my_name是變數名,劉德華為值。
# 變數名不變,值可以變,比如換成周傑倫
my_name = "劉德華"
print(my_name)
my_name = "周傑倫"
print(my_name)
------------------------------
結果為:
劉德華
周傑倫
04 整數
整數也就是int類型,在Python中,可以直接對整數進行算數運算
# 加法
add = 3 + 4
# Python中,format方法是格式化輸出,也就是在{}的地方替換為變數的值。後面項目實戰中經常用到
print('3+4的值是{}'.format(add))
運行結果為:
3+4的值是 7
05 浮點數
帶小數點的數字都是浮點數,也可以進行類型整數的運算,比如加減乘除等。
# 加法
add = 0.2 + 0.1
#Python中,format方法是格式化輸出,也就是在{}的地方替換為變數的值。後面項目實戰中經常用到
print('0.2+0.1的值是{}'.format(add))
0.2+0.1的值是 0.30000000000000004
06 字元串
字元串就是一系列字元。在Python中,單引號、雙引號或者三引號裡面的內容就是字元串。如何字元串中包括單引號或者雙引號,python使用反斜線()對字元串中的字元進行轉義。
# 單引號裡面的文本就是字元串
‘I am a boy’
# 雙引號其實和單引號一樣,一般推薦使用單引號
"人生苦短,我用Python"
# 三引號表示的字元串,一般表示很長的文字,只要引號沒有結束就可以一直寫。
# 一般用來寫文本註釋
'''
人生苦短,我用Python
'''
07 布爾類型
Python支持布爾類型的數據,布爾類型只有True和False兩種值,但是布爾類型有以下幾種運算:
True and True # ==> True
True or True # ==> True
not True #==> False
08 列表
列表是由一系列按特定順序排列的元素組成。也就是列表是有序集合。在Python中,用方括弧([])來表示列表,並用逗號來分隔其中的元素。可以給列表起一個名字,並且使用(=)把列表名字和列表關聯起來,這就叫做列表賦值。
# 定義一個列表
# Python列表
names_python_pc = ['毛豆','劉德華','張學友','美女']
print(f'Python列表有:{names_python_pc}')
Python列表有: ['毛豆','劉德華','張學友','美女']
09 元組
字典是另外一個可變的數據結構,且可存儲任意類型對象,比如字元串、數字、列表等。字典是由關鍵字和值兩部分組成,也就是 key 和 value,中間用冒號分隔。這種結構類似於新華字典,字典中每一個字都有一個對應的解釋。
tup1 = 1,2,3
print(tup1)
結果為:
(1, 2, 3)
10 字典
字典是另外一個可變的數據結構,且可存儲任意類型對象,比如字元串、數字、列表等。字典是由關鍵字和值兩部分組成,也就是 key 和 value,中間用冒號分隔。這種結構類似於新華字典,字典中每一個字都有一個對應的解釋。
#構建一個字典,記錄家庭成員的收入
name_dictionary = {'老爸':300,'老婆':1000,'老媽':800,'自己':600,'孩子':200}
print(name_dictionary)
結果為:
{'老爸':300,'老婆':1000,'老媽':800,'自己':600,'孩子':200}
11 註釋
在Python中,單行註釋用井號(#)標識,也就是#後面的內容;多行註釋用一對三引號(''' ''' )或者一對三個雙引號("""""")表示。單行註釋一般用在某一行的解說說明,而多行註釋一般用在整個文本或者某一個代碼區域的解釋說明,其中三個雙引號表示整個文檔的說明。對於這些註釋,Python解釋器不會執行具體的內容。如下麵例子中,Python解釋器會忽略註釋,只是輸出Hello World。
print('Hello World')
"""print('結束')"""
12 數據
數據簡單說就是在電腦中的任何東西,比如聽的音樂、看的電影、讀的文章等等。Python編程就是要處理這些數據,利用自己的語法規則對其加工處理,然後呈現出你想要的結果數據
13 縮進
在Python語言中,Python根據縮進來判斷代碼行與前一行的關係。如果代碼的縮進相同,Python認為它們為一個語句塊;否則就是兩個語句塊。一般使用tab按鍵縮進代碼,有的IDE自動縮進代碼,比如Pycharm.
this is one block
this is a new line in the one block
this issecond block
this isa new line in the second block
xxxxxx
this is the three block
this is a new line in the three block
14 關鍵字
在Python中,有一些字元串具有某些特定功能,如 import 、 class 等。我們在選擇變數名時,應註意避開這些保留字元。
15 運算符
運算符的作用是根據已有的變數生成新的變數,主要有以下幾種:
算術運算符:+,-,*,/,%,即加、減、乘、除、取餘
比較運算符:==,!=,>,<,>=,<=,即等於、不等於、大於、小於、大於等於、小於等於
賦值運算符:=,+=,-=,*=,/=,%=,即賦值、加賦值、減賦值、乘賦值、除賦值、取餘賦值
邏輯運算符:and,or,not,即與、或、非
16 條件
分支結構又稱為選擇結構,意思是程式代碼根據判斷條件,選擇執行特定的代碼。如果條件為真,程式執行一部分代碼;否則執行另一部分代碼。也可以理解為判斷條件把程式分為兩部分,根據條件結果只能執行其中一部分。比如高考為條件,考上了就去上大學;否則不去上大學,去做其他的,條條大道通羅馬,只要努力都可以成功。
17 迴圈
不斷的重覆為迴圈。迴圈結構是在一定條件下反覆執行某部分代碼的操作,是Python程式數據中使用率最高的一個結構。在Python語言中,常見的迴圈結構有for迴圈和while迴圈。
18 for 迴圈
for 迴圈的迴圈次數一般是事先預知的,將一個標誌變數從某個起始值迭代到某個終止值後即結束。
# x從0開始,一直到 10 結束
for x in range(0,11):
print(x)
19 迴圈控制
迴圈控制主要包括三種:pass 、 continue 、 break 。
pass 表示什麼也不做,只是占一行代碼的位置;continue 表示立即退出本輪迴圈,繼續執行後續輪迴圈;break 表示立即推出迴圈,後續迴圈也不再執行。
20 異常
Python代碼中可能會出現一些可以預知的問題,例如字典訪問的key不存在。如果不加處理,發生問題的時候Python便會報錯並退出,可能之前跑了很久又要重頭再來。因此,我們需要對可能出現的異常進行捕捉和處理。
21 函數
函數是一個獨立且封閉完成特定功能的代碼塊,可以在任何地方被調用。比如第二天內容裡面的print()函數,無論你在程式中的任何地方調用,都是輸出()中的內容。這種獨立的封閉代碼塊又稱為封裝,也可以把函數理解為一個盒子。盒子裡面的代碼就是封裝好的,完成特定的功能,外面的代碼不屬於函數。
22 面向對象
面向對象中的第一個概念就是類。在Python編程語言中,類也是一些相似事物的綜合。比如人,人具有2個胳膊,2條腿等特征;並且人會走路,說話等行為。在Python語言中,這些描述事物的特征稱為屬性,而表示事物的行為稱為方法(也就是函數,在面向對象裡面一切行為都是方法,沒有函數),把兩者合併一起就是Python語言的類。類 Class就是用來描述具有相同屬性和方法的事物集合。也就是類具有相同的屬性和方法。