《大數(shù)據(jù)的Python基礎(第2版)》教案_第1頁
《大數(shù)據(jù)的Python基礎(第2版)》教案_第2頁
《大數(shù)據(jù)的Python基礎(第2版)》教案_第3頁
《大數(shù)據(jù)的Python基礎(第2版)》教案_第4頁
《大數(shù)據(jù)的Python基礎(第2版)》教案_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

山東工商學院教案

學院(部):適用學期:

課程代碼學總學時:48

課程名稱Python程序設計基礎

學分2.5講授:32

課程類別必修課(是)選修課()實驗:16

授課專業(yè)授課班級分課堂討論:

任課教師職稱習題課:

所選教材《大數(shù)據(jù)的Python基礎(第2版)》,董付國,機械工業(yè)出版社機動:

通過本課程的學習,使得學生能夠理解Python的編程模式,熟練運

用Python列表、元組、字典、集合等基本數(shù)據(jù)類型以及相關(guān)列表推導式、

本課程教學

切片等特性來解決實際問題,熟練掌握Python分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函

目的與要求

數(shù)設計以及類的設計與使用,熟練使用正則表達式處理字符串,了解數(shù)據(jù)

分析、科學計算基礎。

Python編程模式中非常重要的一條是代碼簡單化、問題簡單化,應保

證代碼具有較強的可讀性。在教學過程中,一定不要在Python程序中帶

有其他編程語言的痕跡,要盡量從最簡單的角度去思考和解決問題、實現(xiàn)

自己的想法和思路,保證代碼的優(yōu)雅、簡潔,讓代碼更加Pythonic。

在教學過程中,應多對比Python中命令式編程與函數(shù)式編程的區(qū)別,

本課程教學讓學生體會函數(shù)式編程的簡潔,了解函數(shù)式編程的原理,并在編寫代碼時

重點與難點多使用函數(shù)式編程的模式。

使用Python編程解決問題應充分借鑒和使用成熟的標準庫和擴展庫,

盡量避免自主編寫完整的業(yè)務邏輯,部分具體操作完全可以使用擴展庫來

實現(xiàn),大幅度提高開發(fā)效率。教學過程中要多演示,讓學生多練習,力求

讓大部分學生掌握書中的案例,少部分同學能夠進行發(fā)揮和實現(xiàn)特定的任

務。

1.董付國.《Python程序設計實驗指導書》,清華大學出版社,2019

2.董付國.《Python程序設計(第3版)》,清華大學出版社,2020

3.董付國.《Python數(shù)據(jù)分析、挖掘與可視化(微課版)》,人民郵電

參考書目出版社,2020

4.董付國.《Python網(wǎng)絡程序設計》,清華大學出版社,2021

5.董付國.《Python程序設計與數(shù)據(jù)采集》,人民郵電出版社,2023

6.董付國.《Python數(shù)據(jù)分析與數(shù)據(jù)可視化》,清華大學出版社,2023

山東工商學院教案

1.1Python語言概述

1.2Python開發(fā)環(huán)境搭建

本次授課內(nèi)容1.3安裝擴展庫

1.4標準庫與擴展庫對象的導入與使用

1.5Python代碼布局規(guī)范

了解Python語言的特點

了解Python語言的應用領域

熟練安裝和配置Python開發(fā)環(huán)境

本次課的

了解IDLE、JupyterNotebook-Spyder的簡單使用

教學目的

熟練安裝常用的Python擴展庫

了解Python代碼編寫規(guī)范

熟練掌握導入和使用Python標準庫與擴展庫對象的方法

Windows平臺的Python安裝

安裝擴展庫

本次課教學

不同開發(fā)環(huán)境的配置和簡單使用

重點與難點

Python代碼編寫規(guī)范

導入與使用標準庫、擴展庫對象

教學方法

PPT、邊講邊練

教學手段

教學內(nèi)容時間分配(分)

課堂教學內(nèi)容講解60

時間分配練習、答疑30

介紹Python版本歷史演變

介紹Python編程規(guī)范,重點講解縮進與續(xù)行符

課堂教學設計介紹Python、Anaconda3的安裝和使用

介紹擴展庫安裝方法

介紹如何導入和使用標準庫、擴展庫對象

安裝不同版本的Python

實驗

安裝擴展庫jieba、numpy、pandas>matplotlib>openpyxl>python-docx

習題1-7

思考題及作業(yè)題

備注

教學后記

第一節(jié)課

Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言,是一種通用編程語言。

Python目前已經(jīng)滲透到系統(tǒng)安全、數(shù)值計算、統(tǒng)計分析、科學計算可視化、逆向工程與軟

件分析、圖形圖像處理、人工智能、機器學習、網(wǎng)站開發(fā)、數(shù)據(jù)爬取與大數(shù)據(jù)處理、密碼學、

堂系統(tǒng)運維、音樂編程、影視特效制作、計算機輔助教育、醫(yī)藥輔助設計、天文信息處理、化

重學、生物信息處理、神經(jīng)科學與心理學、自然語言處理、電子電路設計、電子取證、游戲設

計與策劃、移動終端開發(fā)、樹莓派開發(fā)等幾乎所有專業(yè)和領域,在大數(shù)據(jù)和人工智能領域更

是不可或缺的語言和技術(shù)。

內(nèi)除了可以解釋執(zhí)行,Python支持將源代碼偽編譯為字節(jié)碼來提高加載速度,還支持使

容用py2exe、pyinstaller>exFreeze,py2app或其他類似工具將Python程序及其所有依賴

庫打包成為各種平臺上的可執(zhí)行文件。

Python支持命令式編程和函數(shù)式編程兩種模式(推薦使用后者),完全支持面向?qū)ο?/p>

解程序設計,語法簡潔清晰,功能強大且易學易用,最重要的是擁有大量的幾乎支持所有領域

應用開發(fā)的成熟擴展庫。

常用的Python開發(fā)環(huán)境除了Python官方安裝包自帶的IDLE,還有Anaconda3、PyCharm、

Eclipse,zwPython等。相對來說,Python安裝包自帶的IDLE環(huán)境稍微簡陋一些,雖然也

提供了語法高亮(使用不同的顏色顯示不同的語法元素)、交互式運行、程序編寫與運行以

及簡單的程序調(diào)試功能,但沒有項目管理與版本控制等功能,這在大型軟件開發(fā)中是非常重

要的。其他Python開發(fā)環(huán)境對Python解釋器主程序進行了不同程度的封裝和集成,使得代

碼編寫和項目管理更加方便一些。

FibUilOetaiqQptiomWadcwH<<p_

?Python3.6Python3.9.13(tags/v3.9.13:6de2ca5.May172022,16:36:42)[MSCv.192964bit(AMD64)]onwi32

Type"help","copyright","credits"or"license。"formoreinformation.

?>print(3?5)

8

?>print(sum(iMp(int,str(12345))))

IS

IDLE(Python3.964-bit)>>>(■portrath

?>nath.gcd(24,36,48)

OPython3,9(64-brt)>>>math.factorial(123)

121463043670253296757662432418812958554s42170884833823153289181618292358923621676688311569606264

0202170735835221294?477825910915704116514721860295199062616467307339974198149529600800000000&3。?

Python3.9Manuals(64-bit)

>>>"operatoradd

Python3.9ModuleDocs(64-bit)>>>list(map(add,range(l,6),r?nge(ll416)))

[12,14,16,18,20]

Python3.10?>

Q般近皤加

Python3.11

RESTARTrE7\Python39\test7py^

n請輸入一個3位自然數(shù):123

1,2,3,Atest.py-E:\Python39\testpy(3.9.13)

■企業(yè)微倍

?>fFileEditFormatRunOptionsWindowHelp

企業(yè)微信運行結(jié)果num=input('請箱入T、3位;)

籟近添加程序代碼rprint(*m叩(int,num),sep=1,1)

a在這里輸入你要搜索的內(nèi)容

~jupyterUntitled9gteMckgM2nwut?s*go(,uwsavM)

“EMv?wInsertCanKameinpgetsHelp

Anaconda3(64-bit)

AnacondaNavigator(Anaconda})

Upload「New?]C

AnacondaPowenhettPrompt(A._

AnacondaPrompt(Anaconda3)Python

J叩ytetNotebook(AnacondaJ)

Other

ResetSpydctSettings(AnacondaJ)2

TextFile

Spyder(Anaconda})Folder

TerminalsUnavailable回

1Kandkam

5daysago

2monthsago

P在這里就入你要搜索的內(nèi)容

戰(zhàn)Spyder(Python3.9)

FileEditSearchSourceRunDebugConsolesProjectsToolsViewHelp

.spyaer-py3

C:\Users\dfg\.spyder-py3\temp.py

□Console1/AX

□temp,pyX3

In[4]:print('HelloWorld!')

1defmain():HelloWorld!

2foriinrange(10):

3print(i,end=',')In[5]:runfile('C:/Users/

4dfg/,spyder-py3/temp.py',wdir='C:/

main()Users/dfg/.spyder-py3')

e,1,2,3,4,5,6,7,8,9,

2In[6]:

4

IPythonconsoleHistory

VLSPPython:ready6conda:base(Python3.9.12)Line5,Col7UTF-8CRLFRVMea10%

第二節(jié)課

pip命令示例說明

pipfreeze[>packages.txt]列出已安裝模塊及其版本號,可以使用重定向符〉

把獷展庫信息保存到文件packages,txt中

pipinstallSomePackage[==version]在線安裝SomePackage模反,可以使用方括號內(nèi)的

形式指定擴展庫版本

pipinstallSomePackage.whl通過whl文件離線安裝擴展齊

pipinstall-rpackages,txt讀取文件packages,txt中的擴展庫信息,并安裝這

些擴展庫

pipinstall-upgradeSomePackage升級SomePackage模塊

pipuninstallSomePackage[==version]卸我SomePackage模塊

國內(nèi)鏡像服務器地址:

鏡像地址所屬單位

/simple/清華大學

/pypi/simple/阿里云

/simple/豆瓣網(wǎng)

/simple/中國科技大學

/華中理工大學

/山東理工大學

導入與使用標準庫、擴展庫對象的方式:

1.4.1import模塊名[as別名]

>>>importmath#導入標準庫math

>>>math.factorial(6)#計算6的階乘

720

>?math.gcd(48,39)#返回兩個整數(shù)的最大公約數(shù)

3

>>>importnumpyasnp#導入擴展庫numpy,設置別名為np

>>>np?sin([0,np.pi/4,np.pi/2,np.pi])

#計算多個角度的正弦值

array([0.000000006+00^7.07106781e-01,1.000000006+00,

1.22464680e-16])

>>>importos.pathaspath#導入標準庫os.path,設置別名為path

>>>path.isfile(r*C:\Windows\notepad.exe')

#檢查指定的路徑是否為文件

#字符串前面加字母r表示原始字符串

#不對其中的任何字符進行轉(zhuǎn)義

True

1.4.2from模塊名import對象名[as別名]

>>>fromrandomimportchoice,randint

>>>choice('abcdefg')#從字符串中隨機選擇一個字符

'f'

>>>randintCl,100)#在1到100之間生成一個隨機數(shù)

55

>>>fromos.pathimportgetsize

>>>getsize(r'C:\Windows\notepad.exe')#查看文件大小,單位為字節(jié)

179712

>>>frommathimportpiasPI#導入圓周率常量,設置別名為PI

>>>print(PI)

3.141592653589793

1.4.3from模塊名import*

>>>fromrandomimport*#導入random模塊中的所有對象

?>x=[1,2,3,4,5,6]

>>>shuffle(x)#隨機打亂順序

>>>x

[1,6,4,5,2,3]

>>>choice(x)#隨機選擇一個元素

5

>>>sample(x,3)#隨機選擇3個不重復的元素

2,4]

>>>choices('abed'jk=8)#從字符串,abed,中隨機選擇8個字符

[d,b,'d',d,"Ld,'a",'C']

>>>random()#返回介于[0,1)區(qū)間的隨機數(shù)

0.338414031817863

1.5Python代碼布局規(guī)范

(1)嚴格使用縮進來體現(xiàn)代碼的邏輯從屬關(guān)系。Python對代碼縮進是硬性要求,這一點必

須時刻注意。在函數(shù)定義、類定義、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、異常處理結(jié)構(gòu)和with語句等結(jié)構(gòu)中,

對應的函數(shù)體或語句塊都必須有相應的縮進。一般以4個空格為一個縮進單位,并且相同級別

的代碼塊應具有相同的縮進量。

(2)在每個類、函數(shù)定義或一段完整的功能代碼之后增加一個空行,在運算符兩側(cè)各增加

一個空格,逗號后面增加一個空格,讓代碼適當松散一點,不要過于密集。

(3)盡量不要寫過長的語句。如果語句確實太長而超過屏幕寬度,最好使用續(xù)行符“\",或

者使用圓括號把多行代碼括起來表示是一條語句。

(4)書寫復雜的表達式時,在適當?shù)奈恢眉由侠ㄌ?,這樣可以使得各種運算的隸屬關(guān)系和

計算順序更加明確。

(5)對關(guān)鍵代碼和重要的業(yè)務邏輯代碼進行必要的注釋。在Python中有兩種常用的注釋形

式:#和三引號。井號#用于單行注釋,三引號常用于大段說明性文本的注釋。

(6)每個import語句只導入一個模塊,最好按標準庫、擴展庫、自定義庫的順序。

山東工商學院教案

2.1Python常用內(nèi)置對象

本次授課內(nèi)容

2.2Python運算符與表達式

熟練掌握常用內(nèi)置類型

了解常量與變量的概念

本次課的了解Python動態(tài)類型的特點

教學目的了解Python強類型語言的特點

熟悉變量命名規(guī)則

熟練掌握常用運算符

本次課教學Python動態(tài)類型、強類型語言的特點

重點與難點運算符作用于不同類型對象時的含義和功能

教學方法

PPT、邊講邊練

教學手段

教學內(nèi)容時間分配(分)

課堂教學

內(nèi)容講解60

時間分配

練習、答疑30

介紹常用內(nèi)置類型和內(nèi)置對象

課堂教學設計詳細講解常用運算符的語法與功能

實驗教材例題代碼

習題1-11

思考題及作業(yè)題

備注

教學后記

第一節(jié)課

2.1Python常用內(nèi)置對象

對以類型類型名稱示例簡要說明

int88888888888888

數(shù)字float9.8.3.14.6.626e-34數(shù))大小沒仃限制.IL內(nèi)置支外乂數(shù)及其必徵

complex5+6j.5j

Readabilitycounts.,

使川單叫號、雙引號、?刁1號作為定界符.不同定界符之間可

"I'maPythonteacher."

字符串str以互相嵌食;前面加字母r或R表示原始字符串.任何字符都不

"Tomsai,"let'sgo.

進行傳義

r'C:\Windows\notepad.exe'

字節(jié)中)yteso'helloworld'以字母b引導

課[79,89,99]所“無然放在-對方括號中?元素之間使用逗號分麻其中的

列及l(fā)ist

fa,{31,(1.2).[*c,,2],{65:*}]元素可以是任意類型

所”元索放在對嬲括弓中,無東之何敏川過號分部?中紙中

元組tuple(b0,0)(0.)

堂只有?個元素時后面的逗號不能省略

{‘red':(1.0,0).'green,:(0,1,0),所有元素放在?時人括號中,元素之間使用逗號分隔.元素形

字典diet

'blue':(0,0.1)}式為“鍵:值”,其中“鍵”不允許由父并IL必須不可變

所有元素放在?對大括》?中,元素之間使用過號分網(wǎng)?元素不

集合set{'bread','beer','orange')

重允許小山1必須為不可變類型3

內(nèi)

2.1.1常量與變量

常量是指不能改變的字面值,例如一個數(shù)字9.8,一個字符串“Hell。world.”,一個元組

(1,0,0),都是常量。

在Python中,變量的值和類型都是隨時可以發(fā)生改變的。從這個角度來講,Python屬于動

態(tài)類型編程語言.雖然Python變量的類型是隨時可以發(fā)生變化的,但每個變量在任意時刻

的類型都是確定的。從這個角度來講,Python屬于強類型編程語言。

在Python中,不需要事先聲明變量名及其類型,使用賦值語句可以直接創(chuàng)建任意類型的變

量,變量的類型取決于等號右側(cè)表達式值的類型。賦值語句的執(zhí)行過程是:首先把等號右側(cè)

表達式的值計算出來,然后在內(nèi)存中尋找一個位置把值存放進去,最后創(chuàng)建變量并指向這個

內(nèi)存地址。

2.1.1常量與變量

>>>x=3

>>>y=x#y和x指向同?個內(nèi)存地址

>>>id(x)#查看變量X指向的值的內(nèi)存地址

1394437216

>>>id(y)#此時y和x指向的地址相同

1394437216

>>>x+=6#x指向新的值

>>>X

9

>>>y

3

>>>id(x)#x指向的地址發(fā)生變化

1394437408

>>>id(y)#y仍然指向原來的值

1394437216

2.1.2數(shù)字

>?importmath

>?math,factorial(64)#計算64的階乘

1268869321858841641034333893351614808028655161745451921988018943752147042304000

00000000000

?>3**0.5#計算3的平方根,**是塞運算符

1.7320508075688772

?>_**2#一個下劃線表示上一個正確的輸出

2.9999999999999996

?>math.isclose(_,3)#比較兩個實數(shù)是否足夠接近

True

2.1.3字符串

字符串是包含若干字符的容器結(jié)構(gòu),使用單引號、雙引號、三單引號或三雙引號作為定界符,

其中三引號里的字符串可以換行,并且不同的定界符之間可以互相嵌套。

在Python中,沒有字符常量和變量的概念,只有字符串常量和變量,單個字符也是字符串。

Python3.x代碼默認使用UTF8編碼格式,全面支持中文,甚至可以使用中文作為變量名。

在使用內(nèi)置函數(shù)len()統(tǒng)計字符串長度時,中文和英文字母都作為一個字符對待。在使用for

循環(huán)或類似技術(shù)遍歷字符串時,每次遍歷其中的一個字符,中文字符和英文字符也一樣對待。

除了支持序列通用操作(包括雙向索引、比較大小、計算長度、切片、成員測試等),字符

串類型自身還提供了大量方法,例如字符串格式化、查找、替換、排版等等。但由于字符串

屬于不可變序列,不能直接對字符串對象進行元素增加、修改與刪除等操作,切片操作也只

能訪問其中的元素而無法使用切片來修改字符串中的字符。另外,字符串對象提供的

replace。和translate。方法以及大量排版方法也不是對原字符串直接進行修改替換,而

是返回一個新字符串作為結(jié)果。

?>x='Helloworld."#使用單引號作為定界符

?>x="Pythonisagreatlanguage.z/#使用雙引號作為定界符

>>>x='''Tomsaid,"Let'sg。."'‘'#不同定界符之間可以互相嵌套

?>print(x)

Tomsaid,"Let'sgo."

?>'good'+'morning'#連接字符串

'goodmorning'

?>'='*30#字符串重復

,_______________________________,

?>len('人生苦短,我用Python!')

14

2.1.4列表、元組、字典、集合

?>x」ist=[1,2,3]#倉犍列表對象

?>x_tuple=(1,2,3)#創(chuàng)建元組對象

>>>x_dict={'a':97,'b':98,'c':99}#創(chuàng)建字典對象,元素形式為“鍵:值”

?>x_set={1,2,3)#創(chuàng)建集合對象

?>print(x_list[lj)#使用下標訪問指定位置的元素

#元素下標從0開始

2

?>print(x_tuple[l])#元組也支持使用序號作為下標

#1表示第二個元素的下標

2

?>print(x_dict['a'])#訪問特定“鍵”對應的“值”

#字典對象的下標是“鍵”

97

?>x_set[l]#集合中的元素是無序的

#集合不支持使用下標隨機訪問

Trace

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論