《大数据的Python基础(第2版)》教案_第1页
《大数据的Python基础(第2版)》教案_第2页
《大数据的Python基础(第2版)》教案_第3页
《大数据的Python基础(第2版)》教案_第4页
《大数据的Python基础(第2版)》教案_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东工商学院教案

学院(部):适用学期:

课程代码学总学时:48

课程名称Python程序设计基础

学分2.5讲授:32

课程类别必修课(是)选修课()实验:16

授课专业授课班级分课堂讨论:

任课教师职称习题课:

所选教材《大数据的Python基础(第2版)》,董付国,机械工业出版社机动:

通过本课程的学习,使得学生能够理解Python的编程模式,熟练运

用Python列表、元组、字典、集合等基本数据类型以及相关列表推导式、

本课程教学

切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函

目的与要求

数设计以及类的设计与使用,熟练使用正则表达式处理字符串,了解数据

分析、科学计算基础。

Python编程模式中非常重要的一条是代码简单化、问题简单化,应保

证代码具有较强的可读性。在教学过程中,一定不要在Python程序中带

有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现

自己的想法和思路,保证代码的优雅、简洁,让代码更加Pythonic。

在教学过程中,应多对比Python中命令式编程与函数式编程的区别,

本课程教学让学生体会函数式编程的简洁,了解函数式编程的原理,并在编写代码时

重点与难点多使用函数式编程的模式。

使用Python编程解决问题应充分借鉴和使用成熟的标准库和扩展库,

尽量避免自主编写完整的业务逻辑,部分具体操作完全可以使用扩展库来

实现,大幅度提高开发效率。教学过程中要多演示,让学生多练习,力求

让大部分学生掌握书中的案例,少部分同学能够进行发挥和实现特定的任

务。

1.董付国.《Python程序设计实验指导书》,清华大学出版社,2019

2.董付国.《Python程序设计(第3版)》,清华大学出版社,2020

3.董付国.《Python数据分析、挖掘与可视化(微课版)》,人民邮电

参考书目出版社,2020

4.董付国.《Python网络程序设计》,清华大学出版社,2021

5.董付国.《Python程序设计与数据采集》,人民邮电出版社,2023

6.董付国.《Python数据分析与数据可视化》,清华大学出版社,2023

山东工商学院教案

1.1Python语言概述

1.2Python开发环境搭建

本次授课内容1.3安装扩展库

1.4标准库与扩展库对象的导入与使用

1.5Python代码布局规范

了解Python语言的特点

了解Python语言的应用领域

熟练安装和配置Python开发环境

本次课的

了解IDLE、JupyterNotebook-Spyder的简单使用

教学目的

熟练安装常用的Python扩展库

了解Python代码编写规范

熟练掌握导入和使用Python标准库与扩展库对象的方法

Windows平台的Python安装

安装扩展库

本次课教学

不同开发环境的配置和简单使用

重点与难点

Python代码编写规范

导入与使用标准库、扩展库对象

教学方法

PPT、边讲边练

教学手段

教学内容时间分配(分)

课堂教学内容讲解60

时间分配练习、答疑30

介绍Python版本历史演变

介绍Python编程规范,重点讲解缩进与续行符

课堂教学设计介绍Python、Anaconda3的安装和使用

介绍扩展库安装方法

介绍如何导入和使用标准库、扩展库对象

安装不同版本的Python

实验

安装扩展库jieba、numpy、pandas>matplotlib>openpyxl>python-docx

习题1-7

思考题及作业题

备注

教学后记

第一节课

Python是一门跨平台、开源、免费的解释型高级动态编程语言,是一种通用编程语言。

Python目前已经渗透到系统安全、数值计算、统计分析、科学计算可视化、逆向工程与软

件分析、图形图像处理、人工智能、机器学习、网站开发、数据爬取与大数据处理、密码学、

堂系统运维、音乐编程、影视特效制作、计算机辅助教育、医药辅助设计、天文信息处理、化

重学、生物信息处理、神经科学与心理学、自然语言处理、电子电路设计、电子取证、游戏设

计与策划、移动终端开发、树莓派开发等几乎所有专业和领域,在大数据和人工智能领域更

是不可或缺的语言和技术。

内除了可以解释执行,Python支持将源代码伪编译为字节码来提高加载速度,还支持使

容用py2exe、pyinstaller>exFreeze,py2app或其他类似工具将Python程序及其所有依赖

库打包成为各种平台上的可执行文件。

Python支持命令式编程和函数式编程两种模式(推荐使用后者),完全支持面向对象

解程序设计,语法简洁清晰,功能强大且易学易用,最重要的是拥有大量的几乎支持所有领域

应用开发的成熟扩展库。

常用的Python开发环境除了Python官方安装包自带的IDLE,还有Anaconda3、PyCharm、

Eclipse,zwPython等。相对来说,Python安装包自带的IDLE环境稍微简陋一些,虽然也

提供了语法高亮(使用不同的颜色显示不同的语法元素)、交互式运行、程序编写与运行以

及简单的程序调试功能,但没有项目管理与版本控制等功能,这在大型软件开发中是非常重

要的。其他Python开发环境对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位自然数:123

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

■企业微倍

»>fFileEditFormatRunOptionsWindowHelp

企业微信运行结果num=input('请箱入T、3位;)

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

a在这里输入你要搜索的内容

~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在这里就入你要搜索的内容

战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%

第二节课

pip命令示例说明

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

把犷展库信息保存到文件packages,txt中

pipinstallSomePackage[==version]在线安装SomePackage模反,可以使用方括号内的

形式指定扩展库版本

pipinstallSomePackage.whl通过whl文件离线安装扩展齐

pipinstall-rpackages,txt读取文件packages,txt中的扩展库信息,并安装这

些扩展库

pipinstall-upgradeSomePackage升级SomePackage模块

pipuninstallSomePackage[==version]卸我SomePackage模块

国内镜像服务器地址:

镜像地址所属单位

/simple/清华大学

/pypi/simple/阿里云

/simple/豆瓣网

/simple/中国科技大学

/华中理工大学

/山东理工大学

导入与使用标准库、扩展库对象的方式:

1.4.1import模块名[as别名]

>>>importmath#导入标准库math

>>>math.factorial(6)#计算6的阶乘

720

>»math.gcd(48,39)#返回两个整数的最大公约数

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表示原始字符串

#不对其中的任何字符进行转义

True

1.4.2from模块名import对象名[as别名]

>>>fromrandomimportchoice,randint

>>>choice('abcdefg')#从字符串中随机选择一个字符

'f'

>>>randintCl,100)#在1到100之间生成一个随机数

55

>>>fromos.pathimportgetsize

>>>getsize(r'C:\Windows\notepad.exe')#查看文件大小,单位为字节

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)区间的随机数

0.338414031817863

1.5Python代码布局规范

(1)严格使用缩进来体现代码的逻辑从属关系。Python对代码缩进是硬性要求,这一点必

须时刻注意。在函数定义、类定义、选择结构、循环结构、异常处理结构和with语句等结构中,

对应的函数体或语句块都必须有相应的缩进。一般以4个空格为一个缩进单位,并且相同级别

的代码块应具有相同的缩进量。

(2)在每个类、函数定义或一段完整的功能代码之后增加一个空行,在运算符两侧各增加

一个空格,逗号后面增加一个空格,让代码适当松散一点,不要过于密集。

(3)尽量不要写过长的语句。如果语句确实太长而超过屏幕宽度,最好使用续行符“\",或

者使用圆括号把多行代码括起来表示是一条语句。

(4)书写复杂的表达式时,在适当的位置加上括号,这样可以使得各种运算的隶属关系和

计算顺序更加明确。

(5)对关键代码和重要的业务逻辑代码进行必要的注释。在Python中有两种常用的注释形

式:#和三引号。井号#用于单行注释,三引号常用于大段说明性文本的注释。

(6)每个import语句只导入一个模块,最好按标准库、扩展库、自定义库的顺序。

山东工商学院教案

2.1Python常用内置对象

本次授课内容

2.2Python运算符与表达式

熟练掌握常用内置类型

了解常量与变量的概念

本次课的了解Python动态类型的特点

教学目的了解Python强类型语言的特点

熟悉变量命名规则

熟练掌握常用运算符

本次课教学Python动态类型、强类型语言的特点

重点与难点运算符作用于不同类型对象时的含义和功能

教学方法

PPT、边讲边练

教学手段

教学内容时间分配(分)

课堂教学

内容讲解60

时间分配

练习、答疑30

介绍常用内置类型和内置对象

课堂教学设计详细讲解常用运算符的语法与功能

实验教材例题代码

习题1-11

思考题及作业题

备注

教学后记

第一节课

2.1Python常用内置对象

对以类型类型名称示例简要说明

int88888888888888

数字float9.8.3.14.6.626e-34数)大小没仃限制.IL内置支外乂数及其必徵

complex5+6j.5j

Readabilitycounts.,

使川单叫号、双引号、•刁1号作为定界符.不同定界符之间可

"I'maPythonteacher."

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

"Tomsai,"let'sgo.

进行传义

r'C:\Windows\notepad.exe'

字节中)yteso'helloworld'以字母b引导

课[79,89,99]所“无然放在-对方括号中•元素之间使用逗号分麻其中的

列及list

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必须不可变

所有元素放在•对大括》•中,元素之间使用过号分网•元素不

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

重允许小山1必须为不可变类型3

2.1.1常量与变量

常量是指不能改变的字面值,例如一个数字9.8,一个字符串“Hell。world.”,一个元组

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

在Python中,变量的值和类型都是随时可以发生改变的。从这个角度来讲,Python属于动

态类型编程语言.虽然Python变量的类型是随时可以发生变化的,但每个变量在任意时刻

的类型都是确定的。从这个角度来讲,Python属于强类型编程语言。

在Python中,不需要事先声明变量名及其类型,使用赋值语句可以直接创建任意类型的变

量,变量的类型取决于等号右侧表达式值的类型。赋值语句的执行过程是:首先把等号右侧

表达式的值计算出来,然后在内存中寻找一个位置把值存放进去,最后创建变量并指向这个

内存地址。

2.1.1常量与变量

>>>x=3

>>>y=x#y和x指向同•个内存地址

>>>id(x)#查看变量X指向的值的内存地址

1394437216

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

1394437216

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

>>>X

9

>>>y

3

>>>id(x)#x指向的地址发生变化

1394437408

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

1394437216

2.1.2数字

>»importmath

>»math,factorial(64)#计算64的阶乘

1268869321858841641034333893351614808028655161745451921988018943752147042304000

00000000000

»>3**0.5#计算3的平方根,**是塞运算符

1.7320508075688772

»>_**2#一个下划线表示上一个正确的输出

2.9999999999999996

»>math.isclose(_,3)#比较两个实数是否足够接近

True

2.1.3字符串

字符串是包含若干字符的容器结构,使用单引号、双引号、三单引号或三双引号作为定界符,

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

在Python中,没有字符常量和变量的概念,只有字符串常量和变量,单个字符也是字符串。

Python3.x代码默认使用UTF8编码格式,全面支持中文,甚至可以使用中文作为变量名。

在使用内置函数len()统计字符串长度时,中文和英文字母都作为一个字符对待。在使用for

循环或类似技术遍历字符串时,每次遍历其中的一个字符,中文字符和英文字符也一样对待。

除了支持序列通用操作(包括双向索引、比较大小、计算长度、切片、成员测试等),字符

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

属于不可变序列,不能直接对字符串对象进行元素增加、修改与删除等操作,切片操作也只

能访问其中的元素而无法使用切片来修改字符串中的字符。另外,字符串对象提供的

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

是返回一个新字符串作为结果。

»>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)#创建元组对象

>>>x_dict={'a':97,'b':98,'c':99}#创建字典对象,元素形式为“键:值”

»>x_set={1,2,3)#创建集合对象

»>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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论