python小白入門及講解(附教材)

image

原作者 | CDA數(shù)據(jù)分析師

了解編程語(yǔ)言

正如人與人之間的溝通需要語(yǔ)言癌压,人與計(jì)算機(jī)之間的溝通,也需要語(yǔ)言荆陆,連接人與計(jì)算機(jī)溝通的橋梁就是編程語(yǔ)言滩届。任何編程語(yǔ)言只要用來(lái)開(kāi)發(fā)程序,都懷揣著同一使命——“為人類干活”被啼,將人類的需求“翻譯”成計(jì)算機(jī)能看得懂的機(jī)器指令帜消,讓計(jì)算機(jī)代替人類去干活。

為什么選擇python

Python可以說(shuō)是編程語(yǔ)言中罕見(jiàn)的既簡(jiǎn)單又強(qiáng)大的一門語(yǔ)言浓体,python語(yǔ)言簡(jiǎn)潔泡挺,語(yǔ)言優(yōu)雅,功能強(qiáng)大命浴,使用python娄猫,你只需要專注于問(wèn)題的解決方案贱除,而不是苦惱于編程語(yǔ)言的語(yǔ)法和結(jié)構(gòu)。Python的發(fā)明者“Guido van Rossum”給python貼的標(biāo)簽是“簡(jiǎn)潔”和“優(yōu)雅”媳溺,即對(duì)于編程語(yǔ)言的新手都能迅速上手使用python月幌。下面總結(jié)了python語(yǔ)言的三大閃光點(diǎn):

數(shù)據(jù)科學(xué)領(lǐng)域的主流語(yǔ)言隨著大數(shù)據(jù)時(shí)代的來(lái)臨,人們?cè)絹?lái)越意識(shí)到數(shù)據(jù)的重要性褂删,數(shù)據(jù)分析師被稱為二十一世紀(jì)最性感的職業(yè)飞醉。python緊挨著R語(yǔ)言冲茸,以短短幾年時(shí)間迅速成為數(shù)據(jù)科學(xué)領(lǐng)域中編程語(yǔ)言的后起之秀屯阀,為該領(lǐng)域提供了大量功能強(qiáng)大的模塊。擁有成熟的程序包資源庫(kù)Python除了其自帶的標(biāo)準(zhǔn)庫(kù)外轴术,還擁有大量的豐富且強(qiáng)大的第三方庫(kù)难衰,避免了一些“重復(fù)造輪子”的工作。PyPI是python官方的第三方庫(kù)的倉(cāng)庫(kù)逗栽,擁有超過(guò)85000個(gè)python模塊和腳本的資源庫(kù)盖袭,堪稱是python語(yǔ)言的“寶藏””顺瑁跨平臺(tái)的先驅(qū)者python可以在Windows鳄虱、Linux·、macOS眾多不同平臺(tái)使用凭峡,且其代碼都是開(kāi)源的拙已,非常貼心。同時(shí)摧冀,python經(jīng)過(guò)多個(gè)版本的修訂及完善倍踪,其運(yùn)行也非常穩(wěn)定,能保證你的代碼能暢快運(yùn)行索昂。

image

怎么學(xué)python

俗話說(shuō)得好建车,“摩天大樓從地起”,學(xué)習(xí)任何編程語(yǔ)言都一定要把該語(yǔ)言的基礎(chǔ)打牢椒惨,而怎么打地基呢缤至?秘訣只有一條:多敲代碼多敲代碼多敲代碼。學(xué)習(xí)前期建議找一本講python基礎(chǔ)的書或博客康谆,把里面的例題跟著操作一遍领斥,在基礎(chǔ)打扎實(shí)后,可上一些比較出名的競(jìng)賽項(xiàng)目的網(wǎng)站如kaggle等秉宿,通過(guò)做項(xiàng)目去鞏固知識(shí)戒突。

推薦書籍:《Python基礎(chǔ)教程(第3版)》Magnus Lie Hetland著

推薦理由:全面介紹了Python的基礎(chǔ)知識(shí)、基本概念描睦,高級(jí)主題膊存,還有Python程序測(cè)試、打包、發(fā)布等知識(shí)隔崎,及10個(gè)具有實(shí)際意義的Python項(xiàng)目的開(kāi)發(fā)過(guò)程今艺,涉及的范圍較廣,既能為初學(xué)者夯實(shí)基礎(chǔ)爵卒,又能幫助程序員提升技能虚缎,適合各個(gè)層次的Python開(kāi)發(fā)人員閱讀參考。

基礎(chǔ)知識(shí)

代碼規(guī)范

1. 縮進(jìn)

相比于其他語(yǔ)言用大括號(hào)和end來(lái)標(biāo)識(shí)代碼塊钓株,python語(yǔ)言比較“獨(dú)特”实牡,其通過(guò)代碼的縮進(jìn)來(lái)標(biāo)識(shí)所屬代碼塊,通常4個(gè)空格為一個(gè)縮進(jìn)轴合,可用tab鍵實(shí)現(xiàn)创坞。縮進(jìn)是python代碼的重要組成部分受葛,若你的代碼縮進(jìn)格式不正確题涨,如同一段代碼塊語(yǔ)句縮進(jìn)不一致,首句未定格等总滩,都會(huì)運(yùn)行出錯(cuò)纲堵。

一個(gè)完整的語(yǔ)句首句要定格

i=0

同一代碼塊的語(yǔ)句應(yīng)縮進(jìn)一致

for i in range(5):

print(i)

i+=1

2. 注釋

編程語(yǔ)言的注釋,即對(duì)代碼的解釋和說(shuō)明闰渔。給代碼加上注釋席函,可提高代碼的可讀性,當(dāng)你閱讀一段他人寫的代碼時(shí)澜建,通過(guò)注釋迅速掌握代碼的大致意思向挖,讀起代碼將更加得心應(yīng)手。

python語(yǔ)言的注釋分為單行注釋和多行注釋炕舵,在注釋符后的內(nèi)容計(jì)算機(jī)會(huì)自動(dòng)跳過(guò)不去執(zhí)行何之。

單行注釋:在需注釋語(yǔ)句前加“#”,可在代碼后使用咽筋,也可另起一行使用

i=1 #在代碼后使用注釋

另起一行使用注釋

多行注釋:在語(yǔ)句開(kāi)頭和結(jié)尾處加三個(gè)單引號(hào)或三個(gè)雙引號(hào)(前后須一致)

'''

使用單引號(hào)的多行注釋

'''

"""

使用雙引號(hào)的多行注釋

"""

使用注釋除了起到望文生義溶推,迅速了解代碼意思的作用外,還有一個(gè)小妙處奸攻,可以將某段未完成或需要修改的代碼隱蔽起來(lái)蒜危,暫時(shí)不讓計(jì)算機(jī)執(zhí)行。

image

3. 多行語(yǔ)句

python中默認(rèn)以行結(jié)束作為代碼結(jié)束的標(biāo)記睹耐,而有時(shí)候?yàn)榱碎喿x方便辐赞,我們需要將一個(gè)完整代碼跨行表示,這時(shí)候我們可以使用續(xù)行符:反斜杠“\”來(lái)將一行語(yǔ)句分為多行顯示:

score = eng_score + \

math_score + \

his_score

注意:若語(yǔ)句中使用大括號(hào){}硝训、中括號(hào)[]或小括號(hào)()將數(shù)據(jù)括起來(lái)响委,則不需要使用續(xù)行符新思,如下所示:

name=['Ada','Ailsa','Amy',

'Barbara','Betty','Blanche'

'Carina','Carrie','Carry'

'Daisy','Darcy','Diana']

什么是算法

在學(xué)習(xí)使用python之前,要先明確使用python的目的是什么赘风?作為一名數(shù)據(jù)分析工作者夹囚,我們并不需要使用python語(yǔ)言來(lái)設(shè)計(jì)程序,只需要使用python來(lái)完成算法的實(shí)現(xiàn)邀窃。那么算法又是什么呢荸哟?

算法是指解決某項(xiàng)問(wèn)題的流程或步驟,我們可以用一個(gè)很貼近生活的例子去理解瞬捕,假如你需要做一道“西紅柿炒雞蛋”鞍历,根據(jù)菜譜:先準(zhǔn)備食材,然后下油熱鍋山析,將西紅柿倒進(jìn)去翻炒后堰燎,加入蛋液翻炒至熟掏父。

image

這就是我們完成“西紅柿炒雞蛋”這道菜所用的“算法”笋轨,而完成這個(gè)算法所需要的就是原料和操作說(shuō)明,下面來(lái)看看原料和說(shuō)明是什么赊淑。

變量

Python語(yǔ)言中的“原料”即對(duì)象,在python里萬(wàn)物皆對(duì)象,而對(duì)象通過(guò)引用變量唯一存在,引用上面的例子,可以將”雞蛋”理解為”對(duì)象”,而給它取的名字”小紅家雞生的蛋”則是”變量”爵政。

變量的概念想必大家不會(huì)陌生,和中學(xué)方程中學(xué)的變量基本上是一致的.變量可以理解為對(duì)事物的一個(gè)代號(hào)或者貼的一個(gè)標(biāo)簽,是一個(gè)可重復(fù)使用的量;而不同于方程中的變量,編程語(yǔ)言中的變量不僅僅是數(shù)值型, 還可以是字符型、邏輯型等其他數(shù)據(jù)類型陶缺。

1. 變量的性質(zhì)

先定義后使用在python中引用變量需要先定義钾挟,否則會(huì)報(bào)錯(cuò),但與其他編程語(yǔ)言如C語(yǔ)言不同饱岸,python定義變量不需要事先定義變量類型掺出,變量類型隨變量所賦值的類型決定可重復(fù)賦值及運(yùn)算在python中變量可以重復(fù)賦值使用,變量間也可相互賦值苫费,同時(shí)可以對(duì)變量進(jìn)行運(yùn)算操作#變量可重復(fù)賦值

i=2

i=3

可對(duì)變量做運(yùn)算

i+1

查看變量的數(shù)據(jù)類型

type(a)

image

2. 變量的命名規(guī)則

只能包含:數(shù)字汤锨、字母、下劃線不能以數(shù)字開(kāi)頭百框,不能包含python保留字闲礼、關(guān)鍵字、函數(shù)名慎用小寫字母l和大寫字母O, 避免與數(shù)字1和0混淆建議用駝峰命名法铐维,即以單詞加“"命名柬泽,如:studentname#查看python有哪些保留字

import keyword

print(keyword.kwlist)

3. 變量的賦值

基本賦值在python中,我們使用“=”對(duì)變量進(jìn)行賦值嫁蛇,如“x=3"锨并。這里要注意,數(shù)據(jù)和變量是分開(kāi)存儲(chǔ)的睬棚,即在內(nèi)存中先建立數(shù)據(jù)“3”第煮,然后建立一個(gè)標(biāo)記“x”有决,再將x指向內(nèi)存中的值。若重新對(duì)變量x賦值為“2”空盼,實(shí)質(zhì)上是修改了數(shù)據(jù)的引用书幕,變量x重新指向內(nèi)存中的數(shù)據(jù)“2”。

image

多重賦值對(duì)同一對(duì)象可以引用多個(gè)變量揽趾,例如一個(gè)人可以有多重身份台汇,Mr Li 是一位父親,同時(shí)也是一位教師篱瞎,不同的變量苟呐,實(shí)質(zhì)指向的對(duì)象是同一事物。father = teacher = 'Mr Li'

多元賦值對(duì)多個(gè)變量同時(shí)賦值俐筋,等號(hào)兩邊可加括號(hào)可不加a,b,c=1,2,3

(a,b,c)=(1,2,3)

語(yǔ)句

了解完算法中的“原料”牵素,我們?cè)賮?lái)看看算法中的“操作說(shuō)明”是什么呢?算法中的“操作說(shuō)明”可以說(shuō)是算法的“靈魂”澄者,就好像一道菜完成的作品如何笆呆,很大程度取決于廚師的廚藝(即做菜秘籍)。構(gòu)成算法“操作步驟”的是語(yǔ)句粱挡,其中包含python的基本語(yǔ)句和控制流程語(yǔ)句赠幕。控制流程語(yǔ)句的語(yǔ)法相對(duì)較復(fù)雜询筏,在后面的文章再繼續(xù)介紹榕堰,我們先認(rèn)識(shí)一下python的基本語(yǔ)句:

其實(shí)前面我們已經(jīng)接觸過(guò)python的基礎(chǔ)語(yǔ)句:賦值語(yǔ)句,賦值語(yǔ)句較簡(jiǎn)單不展開(kāi)介紹嫌套,下面主要介紹python另一個(gè)使用特別廣泛的基礎(chǔ)語(yǔ)句:輸出與輸入語(yǔ)句逆屡。

1. 輸出語(yǔ)句

python中輸出值的方式主要有兩種:表達(dá)式和print( )函數(shù),兩者的區(qū)別在于踱讨,表達(dá)式輸出的結(jié)果為一個(gè)python對(duì)象魏蔗,而在實(shí)際運(yùn)用中,為方便閱讀勇蝙,通常需要按照一定格式輸出結(jié)果沫勿,print( )函數(shù)就很好地解決此問(wèn)題。

image

print( )語(yǔ)法:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

print( )參數(shù):

objects -- 復(fù)數(shù)味混,表示可以一次輸出多個(gè)對(duì)象产雹。輸出多個(gè)對(duì)象時(shí),需要用 , 分隔翁锡。sep -- 用來(lái)間隔多個(gè)對(duì)象蔓挖,默認(rèn)值是一個(gè)空格。end -- 用來(lái)設(shè)定以什么結(jié)尾馆衔。默認(rèn)值是換行符 “\n”瘟判,可換成其他字符串怨绣。file -- 要寫入的文件對(duì)象。flush -- 輸出是否被緩存通常決定于 file拷获,但如果 flush 關(guān)鍵字參數(shù)為 True篮撑,流會(huì)被強(qiáng)制刷新。#打印多個(gè)值匆瓜,設(shè)置中間分隔符為“-”

print("廣州","上海","深圳",sep="-")

先以默認(rèn)結(jié)尾符"\n"輸出赢笨,再以結(jié)尾符設(shè)置為“-”,注意區(qū)別二者區(qū)別

print("廣州")

print("上海")

print("深圳")

print("廣州",end="-")

print("上海",end="-")

print("深圳",end="-")

以上代碼實(shí)行結(jié)果為:

image

2. 輸入語(yǔ)句

在python中獲取鍵盤輸入數(shù)據(jù)的函數(shù)是input()函數(shù)驮吱,input函數(shù)會(huì)自動(dòng)將輸入的數(shù)據(jù)轉(zhuǎn)為字符串類型茧妒,并自動(dòng)忽略換行符,同時(shí)可給出提示字符串左冬。如果需要得到其他類型的數(shù)據(jù)桐筏,可對(duì)其進(jìn)行強(qiáng)制性類型轉(zhuǎn)換。

input( )語(yǔ)法:

input([prompt])

input( )參數(shù):

prompt: 給輸入者的提示信息拇砰,可選參數(shù)age=input("請(qǐng)輸入您的年齡:")

如果你有學(xué)習(xí)python的想法梅忌,并且有信心學(xué)好,以下兩套教程肯定能幫到你毕匀。

image
image

教材獲取地址
【鏈接】:https://pan.baidu.com/s/1Tl7kul2i0pHIS7erfemnGw
提取碼:yef8

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末铸鹰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子皂岔,更是在濱河造成了極大的恐慌,老刑警劉巖展姐,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躁垛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡圾笨,警方通過(guò)查閱死者的電腦和手機(jī)教馆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)擂达,“玉大人土铺,你說(shuō)我怎么就攤上這事“鬻蓿” “怎么了悲敷?”我有些...
    開(kāi)封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)俭令。 經(jīng)常有香客問(wèn)我后德,道長(zhǎng),這世上最難降的妖魔是什么抄腔? 我笑而不...
    開(kāi)封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任瓢湃,我火速辦了婚禮理张,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绵患。我一直安慰自己雾叭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布落蝙。 她就那樣靜靜地躺著拷况,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掘殴。 梳的紋絲不亂的頭發(fā)上赚瘦,一...
    開(kāi)封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音奏寨,去河邊找鬼起意。 笑死,一個(gè)胖子當(dāng)著我的面吹牛病瞳,可吹牛的內(nèi)容都是我干的揽咕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼套菜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼亲善!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起逗柴,我...
    開(kāi)封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蛹头,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后戏溺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體渣蜗,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年旷祸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耕拷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡托享,死狀恐怖骚烧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闰围,我是刑警寧澤赃绊,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站辫诅,受9級(jí)特大地震影響凭戴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炕矮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一么夫、第九天 我趴在偏房一處隱蔽的房頂上張望者冤。 院中可真熱鬧,春花似錦档痪、人聲如沸涉枫。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)愿汰。三九已至,卻和暖如春乐纸,著一層夾襖步出監(jiān)牢的瞬間衬廷,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工汽绢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吗跋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓宁昭,卻偏偏與公主長(zhǎng)得像跌宛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子积仗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354