Python语言模块课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python语言模块课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 语言 模块 课件
- 资源描述:
-
1、第七章模块7.1 模块的概述7.2 安装第三方模块7.3 模块应用实例7.5 实验7.6 小结7.7 习题7.4 在Python中调用R语言7.1.1 模块与程序我们写的代码保存的以.py结尾的Python文件就是一个独立的模块,模块包含了对象定义和语句。如下所示代码:def fbnc(n):result=1 result_1=1 result_2=1 if n 0:result=result_2+result_1 result_1=result_2 result_2=result n-=1 return result7.1 模块的概述 第七章 模块7.1.1 模块与程序number=int(
2、input(请输入一个正整数:)result=fbnc(number)print(%d 的斐波那契数列是:%d%(number,result)在上例中,我们定义了一个模块febolacci_1,程序代码如上例所示。上例代码运行结果如下:请输入一个正整数:1313 的斐波那契数列是:233由此可见,模块就是一个以.py结尾的独立的程序代码的文件,实现了特定的功能。7.1 模块的概述 第七章 模块7.1.2 命名空间命名空间是一个包含了一个或多个变量名称和它们各自对应的对象值的字典。Python可以调用局部命名空间和全局命名空间里的变量。如果一个局部变量和一个全局变量重名,则在函数内部调用时局部变
3、量会屏蔽全局变量。如果要修改函数内的全局变量的值,必须使用global语句,否则会出错。7.1 模块的概述 第七章 模块7.1.3 模块导入方法要导入系统模块或者已经定义好的模块,有三种方法:1、最常用的方法是:import modulemodule是模块名,如果有多个模块,模块名称之间用逗号“,”隔开。导入模块后,就可以引用模块内的函数,语法格式如下:模块名.函数名7.1 模块的概述 第七章 模块7.1.3 模块导入方法注意事项:(1)在IDLE交互环境中,有一个使用的小技巧,当输入导入的模块名和点号“.”之后,系统会将模块内的函数罗列出来供我们选择。(2)可以通过help(模块名)查看模块
4、的帮助信息,其中,FUNCTIONS介绍了模块内函数的使用方法。(3)不管你执行了多少次import,一个模块只会被导入一次。(4)导入模块后,我们就可用模块名称这个变量访问模块的函数等所有功能。7.1 模块的概述 第七章 模块7.1.3 模块导入方法2、第二种方法是:from 模块名 import 函数名函数名如果有多个,可用逗号“,”隔开。函数名可用通配符“*”导出所有的函数。这种方法要慎用,因为导出的函数名称容易和其它函数名称冲突,失去了模块命名空间的优势。7.1 模块的概述 第七章 模块7.1.3 模块导入方法3、第三种方法是:import 模块名 as 新名字这种导入模块的方法,相当
5、于给导入的模块名称重新起一个别名,便于记忆,很方便地在程序中调用。7.1 模块的概述 第七章 模块7.1.4 自定义模块和包1.自定义模块:自定义模块的方法和步骤如下:在安装Python的目录下,新建一个以.py为后缀名的文件,然后编辑该文件。在自定义模块时,有几点要注意:(1)为了使IDLE能找到我们自定义模块,该模块要和调用的程序在同一目录下,否则在导入模块时会提示找不到模块的错误。(2)模块名要遵循Python变量命名规范,不要使用中文、特殊字符等。7.1 模块的概述 第七章 模块7.1.4 自定义模块和包(3)自定义的模块名不要和系统内置的模块名相同,可以先在IDLE 交互环境里先用“
6、import modle_name”命令检查,若成功则说明系统已存在此模块,然后考虑更改自定义的模块名。2.自定义包:在大型项目开发中,有多个程序员协作共同开发一个项目,为了避免模块名重名,Python引入了按目录来组织模块的方法,称为包(Package)。包是一个分层级的文件目录结构,它定义了由模块及子包,以及子包下的子包等组成的命名空间。7.1 模块的概述 第七章 模块7.1.4 自定义模块和包在自定义包时,需要注意:(1)每个包目录下面都会有一个_init_.py的文件,这个文件是必须存在的,否则,系统就把这个目录作为普通目录,而不是一个包。(2)_init_.py可以是空文件,也可以有
7、Python代码,因为_init_.py就是一个模块,而它的模块名就是mymodle。(3)在Python中可以有多级目录,组成多层次的包结构。7.1 模块的概述 第七章 模块第七章模块7.2 安装第三方模块7.1 模块的概述7.3 模块应用实例7.5 实验7.6 小结7.7 习题7.4 在Python中调用R语言安装第三方模块,是通过包管理工具pip来实现的。本节以Win10操作系统,Python 3.6.5安装为例,确保安装时勾选选了pip和Add Python to environment variables两个选项。在“开始”“运行”里输入“cmd”命令或者直接选中“命令提示符”。7.
8、2 安装第三方模块 第七章 模块pip命令格式如下:pip options commands:install Install packages.download Download packages.uninstall Uninstall packages.freeze Output installed packages in requirements format.7.2 安装第三方模块 第七章 模块安装第三方模块前的注意事项:(1)确保可以从命令提示符中的命令行运行Python。请确保安装有Python,并且预期的版本可以从命令行获得,可以通过运行以下命令来检查:python-version
9、运行结果如下:C:UsersAdministratorpython-versionPython 3.6.5(2)确保可以从命令行运行pip。7.2 安装第三方模块 第七章 模块此外,还需要确保系统有pip可用,可以通过运行以下命令来检查:pip version运行结果如下:C:UsersAdministratorpip-versionpip 10.0.1 from c:usersadministratorappdatalocalprogramspythonpython36-32libsite-packagespip(python 3.6(3)确保pip、setuptools和wheel是最新的
10、。虽然pip单独地从预构建的二进制文件中安装就可以了,但是最新的setuptools和wheel的版本对于确保你也可以从源文件中安装是有用的。7.2 安装第三方模块 第七章 模块可以运行以下命令:python-m pip install-upgrade pip setuptools wheel运行成功后得到,会有如下提示信息:Successfully installed pip-10.0.1 setuptools-39.2.0 wheel-0.31.1(4)创建一个虚拟环境,此项仅用于Linux系统,为可选项。运行以下命令:python3-m venv tutorial_envsource t
11、utorial_env/bin/activate上述命令将在tutorial_env子目录中创建一个新的虚拟环境,并配置当前shell以将其用作默认的Python环境。7.2 安装第三方模块 第七章 模块本节我们仅以从PyPI安装为例,其它安装方式请查阅相关资料。使用pip从PyPI安装:pip最常用的用法是从Python包索引中使用需求说明符来安装。一般来说,需求说明符由项目名称和版本说明符组成。在Python官网https:/www.pypi.org可以查询、注册、发布的第三方库,包括包的历史版本号,支持的应用环境等包信息。我们以安装web模块为例:(1)在Python官网查询:web,得
12、到包的名称是:web3,最新版本号是:4.3.0。在命令提示符下输入以下命令:pip install web3=4.3.07.2 安装第三方模块 第七章 模块系统自动会从Python官网下载文件,进行安装。在安装过程中,有的系统环境也许会出现以下错误提示:error:Microsoft Visual C+14.0 is required.Get it with Microsoft Visual C+Build Tools:http:/ 安装第三方模块 第七章 模块pip install-upgrade web3(3)安装到用户站点若要安装与当前用户隔离的包,请使用用户标志,通过运行以下命令:p
13、ip install-user SomeProject(4)需求文件:安装需求文件中指定的需求列表,如果没有则忽略。通过运行以下命令:pip install-r requirements.txt (5)在Python shell环境中验证安装的第三方模块:在IDLE Shell交互环境下使用import命令,如下所示:7.2 安装第三方模块 第七章 模块 import web3运行结果如下:dir(web3)Account,EthereumTesterProvider,HTTPProvider,IPCProvider,TestRPCProvider,Web3,WebsocketProvider
14、,_all_,_builtins_,_cached_,_doc_,_file_,_loader_,_name_,_package_,_path_,_spec_,_version_,admin,contract,eth,exceptions,iban,main,manager,middleware,miner,module,net,parity,personal,pkg_resources,providers,sys,testing,txpool,utils,version 从以上运行结果可以看出,第三方模块web已成功安装。7.2 安装第三方模块 第七章 模块第七章模块7.3 模块应用实例7.
15、1 模块的概述7.2 安装第三方模块7.5 实验7.6 小结7.7 习题7.4 在Python中调用R语言7.3.1 日期时间相关:datetime模块datetime是Python处理日期和时间的标准模块。(1)获取当前日期和时间:如下例所示代码:from datetime import datetime now=datetime.now()#获取当前datetime运行结果如下:print(now)2018-06-19 13:07:58.7260387.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块 print(type(now)从上例可以看出,datetim
16、e是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。如果仅导入import datetime,则必须引用全名datetime.datetime。datetime.now()返回当前日期和时间,其类型是datetime。7.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块(2)获取指定日期和时间:如下所示代码:from datetime import datetime dt=datetime(2018,6,19,13,15)#用指定日期时间创建datetime运行结
17、果如下:print(dt)2018-06-19 13:15:007.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块(3)datetime转换为timestamp:在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。你可以认为:timestamp=0=1970-1-1 00:00:00 UTC+0:00对应的北京时间是:timestamp=0=1970-1-1
18、 08:00:00 UTC+8:007.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块可见timestamp的值与时区毫无关系,因为timestamp一旦确定,其UTC时间就确定了,转换到任意时区的时间也是完全确定的,这就是为什么计算机存储的当前时间是以timestamp表示的,因为全球各地的计算机在任意时刻的timestamp都是完全相同的。把一个datetime类型转换为timestamp只需要简单调用timestamp()方法,如下所示代码:from datetime import datetime dt=datetime(2018,6,19,13,15)#
19、用指定日期时间创建datetime7.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块运行结果如下:dt.timestamp()#把datetime转换为timestamp1529385300.0注意:Python的timestamp是一个浮点数。如果有小数位,小数位表示毫秒数。某些编程语言(如Java和JavaScript)的timestamp使用整数表示毫秒数,这种情况下只需要把timestamp除以1000就得到Python的浮点表示方法。7.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块(4)timestamp转换为dateti
20、me:要把timestamp转换为datetime,使用datetime提供的fromtimestamp()方法,如下所示代码:from datetime import datetime t=1529385300.0运行结果如下:print(datetime.fromtimestamp(t)2018-06-19 13:15:007.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块从上例可以看出,timestamp是一个浮点数,它没有时区的概念,而datetime是有时区的。上述转换是在timestamp和本地时间做转换。本地时间是指当前操作系统设定的时区。times
21、tamp也可以直接被转换到UTC标准时区的时间,使用datetime提供的utcfromtimestamp()方法,如下所示代码:from datetime import datetime t=1529385300.07.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块运行结果如下:print(datetime.fromtimestamp(t)#本地时间2018-06-19 13:15:00 print(datetime.utcfromtimestamp(t)#UTC时间2018-06-19 05:15:007.3 模块应用实例 第七章 模块7.3.1 日期时间相关
22、:datetime模块(5)str转换为datetime:用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime提供的strptime()方法来实现,如下例所示代码:from datetime import datetime datee_test=datetime.strptime(2018-06-19 13:15:00,%Y-%m-%d%H:%M:%S)7.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块运行结果如下:print(datee_test)2018-06-19 13:15:00在上例中,字
23、符串%Y-%m-%d%H:%M:%S规定了日期和时间部分的格式。转换后的datetime是没有时区信息的。7.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块(6)datetime转换为str:如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过datetime提供的strftime()方法实现的,如下例所示代码:from datetime import datetime now=datetime.now()运行结果如下:print(now.strftime(%a,%b%d%H:%M)Tue,Jun 19 13:077
24、.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块(7)datetime加减:对日期和时间进行加减,实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+和-运算符,需要导入timedelta类,如下例所示代码:from datetime import datetime,timedelta now=datetime.now()运行结果如下:now7.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块datetime.datetime(2018,6,19,14,42,36,664596)now+timedelt
25、a(hours=10)datetime.datetime(2018,6,20,0,42,36,664596)now-timedelta(days=10)datetime.datetime(2018,6,9,14,42,36,664596)now+timedelta(days=12,hours=23)datetime.datetime(2018,7,2,13,42,36,664596)从上例可见,使用timedelta可以很容易地算出前几天和后几天的时刻。7.3 模块应用实例 第七章 模块7.3.1 日期时间相关:datetime模块(8)本地时间转换为UTC时间:本地时间是指系统设定时区的时间
展开阅读全文