Python打牢基礎(chǔ),從22個(gè)語法開始!

“人生苦短,我用Python”。Python編程語言是最容易學(xué)習(xí)、并且功能強(qiáng)大的語言。只需會(huì)微信聊天、懂一點(diǎn)英文單詞即可學(xué)會(huì)Python編程語言。但是很多人聲稱自己精通Python,然后自己卻寫不出Pythonic的代碼,對很多常用的包不是很了解。萬丈高樓平地起,咱們先從Python中最最基礎(chǔ)的開始。
01 Python的優(yōu)點(diǎn)
?
·??????Python是一種類似人類講話的語言
·??????極其簡單易學(xué)的語言
·??????也是開源的語言之一
·??????可移植性良好,在各大平臺(tái)都可以運(yùn)行,比如Windows、Mac、Linux上都可運(yùn)行
·??????豐富的第三方庫:只有你想不到,沒有Python做不到
·??????解釋性語言:可以直接從源代碼運(yùn)行。
·??????既支持面向?qū)ο缶幊蹋种С置嫦蜻^程編程。
·??????可擴(kuò)展性好,部分程序可以使用其他語言編程,比如C/C++
?
?02 Python開發(fā)環(huán)境
?
目前,主流的Python開發(fā)環(huán)境有三個(gè)(開發(fā)環(huán)境也被稱為IDE, Integrated Development Environment),分別是PyCharm、Anaconda 和Jupyter Notebook,我們稱之為Python三劍客。為了說明它們的主要區(qū)別,筆者引用Python實(shí)戰(zhàn)圈圈友勞元輝的一段話:“我三劍客在手,感覺可以屠進(jìn)天下報(bào)表和模型。Anaconda,最主要是整體開發(fā)環(huán)境和第三方庫的安裝方便;Pycharm,最主要執(zhí)行整個(gè)報(bào)表腳本和各種數(shù)據(jù)源的獲取還有定時(shí)腳本執(zhí)行;Jupyter notebook,最主要是模型訓(xùn)練,每步即時(shí)執(zhí)行,可以可視化看到結(jié)果。”。這段話精確總結(jié)了三者的區(qū)別。如果想了解更多Python實(shí)戰(zhàn)圈,請掃碼前言中的二維碼,或關(guān)注微信公眾號(hào)data_circle.
?
03?變量
常量,顧名思義就是值不能被改變的量,比如5、10等數(shù)字或者一個(gè)字符串的文本。它字面的意思就是本身的含義,不需要多的解釋。
與常量相對應(yīng)的就是變量,顧名思義就是值一直在改變的量。因?yàn)橹翟诟淖儯覀冃枰o它取一個(gè)名字,也就是標(biāo)識(shí)符。Python編程中,我們叫標(biāo)識(shí)符為變量名,并且使用等號(hào)(=)把變量名和值關(guān)聯(lián)起來,
定義變量,并使用print函數(shù)打印出來
# my_name是變量名,劉德華為值。
#?變量名不變,值可以變,比如換成周杰倫
my_name?=?"劉德華"
print(my_name)
my_name?=?"周杰倫"
print(my_name)
結(jié)果為:
劉德華
周杰倫
?
?
04 整數(shù)
整數(shù)也就是int類型,在Python中,可以直接對整數(shù)進(jìn)行算數(shù)運(yùn)算
#?加法
add?=?3?+?4
# Python中,format方法是格式化輸出,也就是在{}的地方替換為變量的值。后面項(xiàng)目實(shí)戰(zhàn)中經(jīng)常用到
print('3+4的值是{}'.format(add))
運(yùn)行結(jié)果為:
3+4的值是?7
?
05 浮點(diǎn)數(shù)
?
帶小數(shù)點(diǎn)的數(shù)字都是浮點(diǎn)數(shù),也可以進(jìn)行類型整數(shù)的運(yùn)算,比如加減乘除等。
?
#?加法
add?=?0.2?+?0.1
#Python中,format方法是格式化輸出,也就是在{}的地方替換為變量的值。后面項(xiàng)目實(shí)戰(zhàn)中經(jīng)常用到
print('0.2+0.1的值是{}'.format(add))
0.2+0.1的值是?0.30000000000000004
?
06 字符串
?
字符串就是一系列字符。在Python中,單引號(hào)、雙引號(hào)或者三引號(hào)里面的內(nèi)容就是字符串。如何字符串中包括單引號(hào)或者雙引號(hào),python使用反斜線()對字符串中的字符進(jìn)行轉(zhuǎn)義。
?
#?單引號(hào)里面的文本就是字符串
‘I?am?a?boy’
#?雙引號(hào)其實(shí)和單引號(hào)一樣,一般推薦使用單引號(hào)
"歡迎您加入python實(shí)戰(zhàn)圈"
#?三引號(hào)表示的字符串,一般表示很長的文字,只要引號(hào)沒有結(jié)束就可以一直寫。
#?一般用來寫文本注釋
'''
我們實(shí)戰(zhàn)圈的第一個(gè)項(xiàng)目就是<如何七天入門python>,
每一天都有安排學(xué)習(xí)內(nèi)容,只需要40分鐘就可以搞定,
學(xué)完以后,記得寫作業(yè)并且提交到知識(shí)星球。
剛開始,咱們節(jié)奏放緩慢一些。計(jì)劃三天更新一次內(nèi)容。
希望都您能參與進(jìn)來。
'''
?
07? 布爾類型
Python支持布爾類型的數(shù)據(jù),布爾類型只有True和False兩種值,但是布爾類型有以下幾種運(yùn)算:
True?and?True??#?==>?True
True?or?True??#?==>?True
not?True???#==>?False
?
?08?列表
列表是由一系列按特定順序排列的元素組成。也就是列表是有序集合。在Python中,用方括號(hào)([])來表示列表,并用逗號(hào)來分隔其中的元素。可以給列表起一個(gè)名字,并且使用(=)把列表名字和列表關(guān)聯(lián)起來,這就叫做列表賦值。
?
#?定義一個(gè)列表
#?Python實(shí)戰(zhàn)圈成員列表
names_python_pc?=?['陳升','劉德華','楊冪','TFboys']
print(f'Python實(shí)戰(zhàn)圈的成員有:{names_python_pc}')
Python實(shí)戰(zhàn)圈的成員有:['陳升',?'劉德華',?'楊冪',?'TFboys']
?
09?元組
列表是可以修改的數(shù)據(jù)結(jié)構(gòu),而元組是固定長度,不能被修改元素值的數(shù)據(jù)結(jié)構(gòu)。元組是使用圓括號(hào)()表示,而列表是使用方括號(hào)[]。請注意兩者的區(qū)別。
tup1?=?1,2,3
print(tup1)
結(jié)果為:
(1,?2,?3)
?
10 字典
字典是另外一個(gè)可變的數(shù)據(jù)結(jié)構(gòu),且可存儲(chǔ)任意類型對象,比如字符串、數(shù)字、列表等。字典是由關(guān)鍵字和值兩部分組成,也就是 key 和 value,中間用冒號(hào)分隔。這種結(jié)構(gòu)類似于新華字典,字典中每一個(gè)字都有一個(gè)對應(yīng)的解釋。
#構(gòu)建一個(gè)字典,記錄各宮嬪妃的年薪銀子
name_dictionary?=?{'魏瓔珞':300,'皇后':1000,'皇貴妃':800,'貴妃':600,'斌':200}
print(name_dictionary)
結(jié)果為:
{'魏瓔珞':?300,?'皇后':?1000,?'皇貴妃':?800,?'貴妃':?600,?'斌':?200}
?
11 注釋
在Python中,單行注釋用井號(hào)(#)標(biāo)識(shí),也就是#后面的內(nèi)容;多行注釋用一對三引號(hào)(''' ''' )或者一對三個(gè)雙引號(hào)("""""")表示。單行注釋一般用在某一行的解說說明,而多行注釋一般用在整個(gè)文本或者某一個(gè)代碼區(qū)域的解釋說明,其中三個(gè)雙引號(hào)表示整個(gè)文檔的說明。對于這些注釋,Python解釋器不會(huì)執(zhí)行具體的內(nèi)容。如下面例子中,Python解釋器會(huì)忽略注釋,只是輸出Hello World。
?
12?數(shù)據(jù)
數(shù)據(jù)簡單說就是在電腦中的任何東西,比如聽的音樂、看的電影、讀的文章等等。Python編程就是要處理這些數(shù)據(jù),利用自己的語法規(guī)則對其加工處理,然后呈現(xiàn)出你想要的結(jié)果數(shù)據(jù),所以你可以把程序或者代碼看成一個(gè)“服裝加工廠”:布料就是程序中使用的數(shù)據(jù),服裝機(jī)器就是根據(jù)語法處理數(shù)據(jù),衣服就是代碼輸出的結(jié)果。
有時(shí)數(shù)據(jù)太多,不好理解。對其進(jìn)行分類,是一個(gè)方法,非常便于理解與處理。在Python語言中,常見的數(shù)
?
13 縮進(jìn)
在Python語言中,Python根據(jù)縮進(jìn)來判斷代碼行與前一行的關(guān)系。如果代碼的縮進(jìn)相同,Python認(rèn)為它們?yōu)橐粋€(gè)語句塊;否則就是兩個(gè)語句塊。一般使用tab按鍵縮進(jìn)代碼,有的IDE自動(dòng)縮進(jìn)代碼,比如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?關(guān)鍵字
在Python中,有一些字符串具有某些特定功能,如 import 、 class 等。我們在選擇變量名時(shí),應(yīng)注意避開這些保留字符。
?
?
15?運(yùn)算符
運(yùn)算符的作用是根據(jù)已有的變量生成新的變量,主要有以下幾種:
?
·??????算術(shù)運(yùn)算符:+,-,*,/,%,即加、減、乘、除、取余
·??????比較運(yùn)算符:==,!=,>,<,>=,<=,即等于、不等于、大于、小于、大于等于、小于等于
·??????賦值運(yùn)算符:=,+=,-=,*=,/=,%=,即賦值、加賦值、減賦值、乘賦值、除賦值、取余賦值
·??????邏輯運(yùn)算符:and,or,not,即與、或、非
?
16?條件
分支結(jié)構(gòu)又稱為選擇結(jié)構(gòu),意思是程序代碼根據(jù)判斷條件,選擇執(zhí)行特定的代碼。如果條件為真,程序執(zhí)行一部分代碼;否則執(zhí)行另一部分代碼。也可以理解為判斷條件把程序分為兩部分,根據(jù)條件結(jié)果只能執(zhí)行其中一部分。比如高考為條件,考上了就去上大學(xué);否則不去上大學(xué),去做其他的,條條大道通羅馬,只要努力都可以成功。
?
17 循環(huán)
不斷的重復(fù)為循環(huán)。循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某部分代碼的操作,是Python程序數(shù)據(jù)中使用率最高的一個(gè)結(jié)構(gòu)。在Python語言中,常見的循環(huán)結(jié)構(gòu)有for循環(huán)和while循環(huán)。
18??for 循環(huán)
for 循環(huán)的循環(huán)次數(shù)一般是事先預(yù)知的,將一個(gè)標(biāo)志變量從某個(gè)起始值迭代到某個(gè)終止值后即結(jié)束。
?
#?x從0開始,一直到?10?結(jié)束
for?x?in?range(0,11):
????print(x)
19?循環(huán)控制
循環(huán)控制主要包括三種:pass 、 continue 、 break 。
?
pass 表示什么也不做,只是占一行代碼的位置;continue 表示立即退出本輪循環(huán),繼續(xù)執(zhí)行后續(xù)輪循環(huán);break 表示立即推出循環(huán),后續(xù)循環(huán)也不再執(zhí)行。
?
20?異常
Python代碼中可能會(huì)出現(xiàn)一些可以預(yù)知的問題,例如字典訪問的key不存在。如果不加處理,發(fā)生問題的時(shí)候Python便會(huì)報(bào)錯(cuò)并退出,可能之前跑了很久又要重頭再來。因此,我們需要對可能出現(xiàn)的異常進(jìn)行捕捉和處理。?
?
21?函數(shù)
函數(shù)是一個(gè)獨(dú)立且封閉完成特定功能的代碼塊,可以在任何地方被調(diào)用。比如第二天內(nèi)容里面的print()函數(shù),無論你在程序中的任何地方調(diào)用,都是輸出()中的內(nèi)容。這種獨(dú)立的封閉代碼塊又稱為封裝,也可以把函數(shù)理解為一個(gè)盒子。盒子里面的代碼就是封裝好的,完成特定的功能,外面的代碼不屬于函數(shù)。
?
22?面向?qū)ο?/span>
面向?qū)ο笾械牡谝粋€(gè)概念就是類。在Python編程語言中,類也是一些相似事物的綜合。比如人,人具有2個(gè)胳膊,2條腿等特征;并且人會(huì)走路,說話等行為。在Python語言中,這些描述事物的特征稱為屬性,而表示事物的行為稱為方法(也就是函數(shù),在面向?qū)ο罄锩嬉磺行袨槎际欠椒ǎ瑳]有函數(shù)),把兩者合并一起就是Python語言的類。類 Class就是用來描述具有相同屬性和方法的事物集合。也就是類具有相同的屬性和方法。
23 Python入門,請從這里開始
