99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀Python基礎(chǔ)教程之小白入門篇
Python基礎(chǔ)教程之小白入門篇
2020-01-13
收藏
Python基礎(chǔ)教程之小白入門篇

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

1、前言

1.1 了解編程語言

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

1.2 為什么選擇python

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

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

1.3 怎么學(xué)python

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

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

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

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

2.1 代碼規(guī)范

2.1.1 縮進(jìn)

相比于其他語言用大括號(hào)和end來標(biāo)識(shí)代碼塊,python語言比較“獨(dú)特”,其通過代碼的縮進(jìn)來標(biāo)識(shí)所屬代碼塊,通常4個(gè)空格為一個(gè)縮進(jìn),可用tab鍵實(shí)現(xiàn)??s進(jìn)是python代碼的重要組成部分,若你的代碼縮進(jìn)格式不正確,如同一段代碼塊語句縮進(jìn)不一致,首句未頂格等,都會(huì)運(yùn)行出錯(cuò)。

#一個(gè)完整的語句首句要頂格 i=0 #同一代碼塊的語句應(yīng)縮進(jìn)一致 for i in range(5): print(i) i+=1

2.1.2 注釋

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

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

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

i=1 #在代碼后使用注釋 #另起一行使用注釋

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

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

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

Python基礎(chǔ)教程之小白入門篇

2.1.3 多行語句

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

score = eng_score + \ math_score + \ his_score

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

name=['Ada','Ailsa','Amy', 'Barbara','Betty','Blanche' 'Carina','Carrie','Carry' 'Daisy','Darcy','Diana' ]

2.2 什么是算法

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

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

Python基礎(chǔ)教程之小白入門篇

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

2.3 變量

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

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

2.3.1 變量的性質(zhì)

  • 先定義后使用
  • python中引用變量需要先定義,否則會(huì)報(bào)錯(cuò),但與其他編程語言如C語言不同,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)

Python基礎(chǔ)教程之小白入門篇

2.3.2 變量的命名規(guī)則

  1. 只能包含:數(shù)字、字母、下劃線
  2. 不能以數(shù)字開頭,不能包含python保留字、關(guān)鍵字、函數(shù)名
  3. 慎用小寫字母l和大寫字母O, 避免與數(shù)字1和0混淆
  4. 建議用駝峰命名法,即以單詞加“"命名,如:studentname

#查看python有哪些保留字 import keyword print(keyword.kwlist)

2.3.3 變量的賦值

  • 基本賦值
  • python中,我們使用“=”對(duì)變量進(jìn)行賦值,如“x=3"。這里要注意,數(shù)據(jù)和變量是分開存儲(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”。
Python基礎(chǔ)教程之小白入門篇
  • 多重賦值
  • 對(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)

2.4 語句

了解完算法中的“原料”,我們?cè)賮砜纯此惴ㄖ械摹安僮髡f明”是什么呢?算法中的“操作說明”可以說是算法的“靈魂”,就好像一道菜完成的作品如何,很大程度取決于廚師的廚藝(即做菜秘籍)。構(gòu)成算法“操作步驟”的是語句,其中包含python的基本語句和控制流程語句??刂屏鞒陶Z句的語法相對(duì)較復(fù)雜,在后面的文章再繼續(xù)介紹,我們先認(rèn)識(shí)一下python的基本語句:

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

2.4.1 輸出語句

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

Python基礎(chǔ)教程之小白入門篇

print( )語法:

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

print( )參數(shù):

  • objects -- 復(fù)數(shù),表示可以一次輸出多個(gè)對(duì)象。輸出多個(gè)對(duì)象時(shí),需要用 , 分隔。
  • sep -- 用來間隔多個(gè)對(duì)象,默認(rèn)值是一個(gè)空格。
  • end -- 用來設(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é)果為:

Python基礎(chǔ)教程之小白入門篇

2.4.2 輸入語句

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( )語法:

input([prompt])

input( )參數(shù):

  • prompt: 給輸入者的提示信息,可選參數(shù)

age=input("請(qǐng)輸入您的年齡:")

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }