好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Python程序设计教程第5章课件.ppt

67页
  • 卖家[上传人]:壹****1
  • 文档编号:570210728
  • 上传时间:2024-08-02
  • 文档格式:PPT
  • 文档大小:534.50KB
  • / 67 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第5章章 Python模块模块课程描述课程描述课程描述课程描述模块是模块是模块是模块是PythonPythonPythonPython语言的一个语言的一个语言的一个语言的一个重要概念,它可以将函数重要概念,它可以将函数重要概念,它可以将函数重要概念,它可以将函数按功能划分到一起,以便按功能划分到一起,以便按功能划分到一起,以便按功能划分到一起,以便日后使用或共享给他人日后使用或共享给他人日后使用或共享给他人日后使用或共享给他人可以使用可以使用可以使用可以使用PythonPythonPythonPython标准库中标准库中标准库中标准库中的模块,也可以下载和使的模块,也可以下载和使的模块,也可以下载和使的模块,也可以下载和使用第三方模块用第三方模块用第三方模块用第三方模块 本章知识点本章知识点p模块的基本概念模块的基本概念psyssys模块模块pmathmath模块模块pdecimaldecimal模块模块p自定义模块自定义模块prandomrandom模块模块pfractionsfractions模块模块ptimetime模块模块pplatformplatform模块模块p 5.1 模块的基本概念模块的基本概念p5.1.1 5.1.1 什么是模块什么是模块p5.1.2 5.1.2 如何导入模块如何导入模块 5.1.1 什么是模块什么是模块p第第4 4章介绍了函数,函数是可以实现一项或多项章介绍了函数,函数是可以实现一项或多项功能的一段程序。

      模块是好多功能的扩展,是功能的一段程序模块是好多功能的扩展,是可以实现一项或多项功能的程序块从定义可可以实现一项或多项功能的程序块从定义可以看到,函数是一段程序,模块是一项程序块以看到,函数是一段程序,模块是一项程序块也就是说函数和模块都是用来实现功能的,但也就是说函数和模块都是用来实现功能的,但是模块的范围比函数要广在模块里可以重用是模块的范围比函数要广在模块里可以重用多个函数下面通过实例来看一下什么是模块多个函数下面通过实例来看一下什么是模块pPythonPython的模块以的模块以.py.py文件的形式存储,保存在文件的形式存储,保存在PythonPython主目录下的主目录下的LibLib目录下,例如,目录下,例如,C:\Python27\LibC:\Python27\Lib如图5-15-1所示 Python的模块文件的模块文件 gzip.py的内容的内容 5.1.2 如何导入模块如何导入模块p在在PythonPython中,如要在程序中,如要在程序 使用摸个模块,必须使用摸个模块,必须先导入模块使用先导入模块使用importimport语句可以导入模块,语句可以导入模块,语句如下:语句如下:import import 模块名模块名p可以使用下面的方式访问模块中的函数:可以使用下面的方式访问模块中的函数:p模块名模块名. .函数名函数名( (参数列表参数列表) )p可以使用下面的方式访问模块中的变量:可以使用下面的方式访问模块中的变量:模块名模块名. .变量变量 例如例如p使用使用MathMath模块中的模块中的pipi常量可以返回数学中的常数常量可以返回数学中的常数пп。

      下面做一个下面做一个实验,打开实验,打开IDLEIDLE,在,在ShellShell窗口中直接输入窗口中直接输入pipi,然后回车,结果如,然后回车,结果如下:下:TracebackTraceback (most recent call last): (most recent call last): File "", line 1, in File "", line 1, in pi piNameErrorNameError: name 'pi' is not defined: name 'pi' is not definedp可以看到,可以看到,PythonPython没有找到没有找到pipi的定义p输入输入math.pimath.pi,然后回车,结果如下:,然后回车,结果如下:TracebackTraceback (most recent call last): (most recent call last): File "", line 1, in File "", line 1, in math.pimath.piNameErrorNameError: name 'math' is not defined: name 'math' is not defined输入输入import mathimport math,回车后再执行,回车后再执行math.pimath.pi,会输出,会输出3.1415926535897933.141592653589793 5.2 Python标准库中常用模块标准库中常用模块5.1.1 sys5.1.1 sys模块模块5.1.2 platform5.1.2 platform模块模块5.1.3 5.1.3 与数学有关的模块与数学有关的模块5.1.4 time5.1.4 time模块模块 5.2.1 sys模块模块psyssys模块是模块是PythonPython标准库中最常用的模块标准库中最常用的模块之一。

      通过它可以获取命令行参数,从而之一通过它可以获取命令行参数,从而实现从程序外部向程序传递参数的功能;实现从程序外部向程序传递参数的功能;也可以获取程序路径和当前系统平台等信也可以获取程序路径和当前系统平台等信息 1.获取当前的操作系统平台.获取当前的操作系统平台pPythonPython是支持跨平台的语言因此,在程是支持跨平台的语言因此,在程序中经常需要获取当前的操作系统平台序中经常需要获取当前的操作系统平台以便针对不同的操作系统编写对应的程序以便针对不同的操作系统编写对应的程序p使用变量使用变量sys.platformsys.platform可以获取当前的操可以获取当前的操作系统平台作系统平台p【例【例5-15-1】】 使用变量使用变量sys.platformsys.platform打印打印当前的操作系统平台当前的操作系统平台import sysimport sysprint(print(sys.platformsys.platform) ) 2.使用命令行参数.使用命令行参数所谓命令行参数是指在运行程序时命令行中给定所谓命令行参数是指在运行程序时命令行中给定的参数例如,以下面的命令运行的参数。

      例如,以下面的命令运行command.pycommand.py::python command.py a b cpython command.py a b ca a、、b b、、c c连同脚本文件连同脚本文件command.pycommand.py本身都是命令行本身都是命令行参数通过命令行参数可以向程序中传递数据通过命令行参数可以向程序中传递数据 【【例例5-2】】 打印命令行参数打印命令行参数import sysimport sysprint("Argument print("Argument count:"+count:"+strstr( (lenlen( (sys.argvsys.argv)));)));for for i i in range(0, in range(0, lenlen( (sys.argvsys.argv)):)):print(""+ print(""+ strstr(i+1)+": "+ (i+1)+": "+ sys.argvsys.argv[ [i i])]) 打开命令行窗口,切换到例打开命令行窗口,切换到例5-2.py所在的所在的目录,执行下面的命令目录,执行下面的命令Argument count:4Argument count:41: 1: 例例5-2.py5-2.py2: a2: a3: b3: b4: c4: c 3.退出应用程序.退出应用程序p使用使用sys.exitsys.exit()()函数可以退出应用程序。

      语法如下:函数可以退出应用程序语法如下:sys.exitsys.exit(n);(n);pn=0n=0时,程序无错误退出;时,程序无错误退出;n=1n=1时,程序有错误退出时,程序有错误退出 【【例例5-3】】 使用使用sys.exit()函数的例子函数的例子coding=utf-8#coding=utf-8import sysimport sysif if lenlen( (sys.argvsys.argv)<2:)<2:print("print("请使用命令行参数请使用命令行参数");");sys.exitsys.exit(1)(1)for for i i in range(0, in range(0, lenlen( (sys.argvsys.argv)):)):print(""+ print(""+ strstr(i+1)+": "+ (i+1)+": "+ sys.argvsys.argv[ [i i])]) 4.字符编码.字符编码p常用的处理中文的字符编码包括常用的处理中文的字符编码包括GB2312GB2312、、GBKGBK和和BIG5BIG5等p GB2312GB2312编码:中华人民共和国国家汉字信息交换用编码,全称编码:中华人民共和国国家汉字信息交换用编码,全称《《信息信息交换用汉字编码字符集交换用汉字编码字符集————基本集基本集》》,,19801980年由国家标准总局发布。

      年由国家标准总局发布GB2312GB2312编码使用编码使用2 2个字节表示一个汉字,所以理论上最多可以表示个字节表示一个汉字,所以理论上最多可以表示256×256=65536256×256=65536个汉字但实际上个汉字但实际上GB2312GB2312编码基本集共收入汉字编码基本集共收入汉字67636763个和个和非汉字图形字符非汉字图形字符682682个GB2312GB2312编码通行于中国大陆新加坡等地也使用编码通行于中国大陆新加坡等地也使用此编码p GBKGBK编码:汉字内码扩展规范,编码:汉字内码扩展规范,K K为扩展的汉语拼音中为扩展的汉语拼音中““扩扩””字的声母字的声母英文全称英文全称Chinese Internal Code SpecificationChinese Internal Code SpecificationGBKGBK编码标准兼容编码标准兼容GB2312GB2312,共收录,共收录2100321003个汉字、个汉字、883883个符号,并提供个符号,并提供18941894个造字码位,简、个造字码位,简、繁体字融于一库繁体字融于一库p BIG5BIG5编码:一种繁体中文汉字字符集,其中繁体汉字编码:一种繁体中文汉字字符集,其中繁体汉字1305313053个,个,808808个个标点符号、希腊字母及特殊符号。

      因为标点符号、希腊字母及特殊符号因为Big5Big5的字符编码范围同的字符编码范围同GB2312GB2312字符字符的存储码范围存在冲突,所以在同一正文不能对两种字符集的字符同时支的存储码范围存在冲突,所以在同一正文不能对两种字符集的字符同时支持p还有一种通用的字符编码还有一种通用的字符编码——UTF-8——UTF-8UTF-8UTF-8是是8-bit Unicode 8-bit Unicode Transformation FormatTransformation Format的缩写,它是一种针对的缩写,它是一种针对UnicodeUnicode的可变长度字符编的可变长度字符编码,又称万国码码,又称万国码Unicode Unicode 是为了解决传统的字符编码方案的局限而产生是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求足跨语言、跨平台进行文本转换、处理的要求 【【例例5-4】】import sysimport sysprint(print(sys.getdefaultencodingsys.getdefaultencoding());());p在中文在中文Windows 10Windows 10下运行结果为:下运行结果为:asciiascii 5.搜索模块的路径.搜索模块的路径p当使用当使用importimport语句导入模块时,语句导入模块时,PythonPython会自动搜索模块文件。

      那么,会自动搜索模块文件那么,PythonPython会会到哪些路径去搜索模块文件呢到哪些路径去搜索模块文件呢? ?可以通过可以通过sys.pathsys.path获取搜索模块的路径获取搜索模块的路径 【例【例5-5】】 import sysimport sysprint(sys.path);print(sys.path);笔者的环境是笔者的环境是Windows 8.1+ Python 3.4.2Windows 8.1+ Python 3.4.2,运行,运行结果为:结果为:['<['<例例5-5.py5-5.py所在的目录所在的目录>', >', 'C:\\Python34\\Lib\\idlelib', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\SYSTEM32\\python34.zip', 'C:\\Windows\\SYSTEM32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-'C:\\Python34', 'C:\\Python34\\lib\\site-packages']packages'] 5.2.2 platform模块模块p1 1.获取操作系统名称及版本号.获取操作系统名称及版本号p使用使用platform.platformplatform.platform()()函数可以获取函数可以获取操作系统名称及版本号信息。

      操作系统名称及版本号信息p【【例例5-65-6】】 打印当前操作系统名称及版打印当前操作系统名称及版本号import platformimport platformprint(print(platform.platformplatform.platform());()); 2.获取操作系统类型.获取操作系统类型使用使用platform.systemplatform.system()()函数可以获取函数可以获取操作系统类型操作系统类型例例5-75-7】】 打印当前操作系统类型打印当前操作系统类型import platformimport platformprint(print(platform.systemplatform.system());()); 3.获取操作系统版本信息.获取操作系统版本信息p使用使用platform.versionplatform.version()()函数可以获取操函数可以获取操作系统的版本信息作系统的版本信息p【例【例5-85-8】】 打印当前操作系统的版本信打印当前操作系统的版本信息import platformimport platformprint(print(platform.versionplatform.version());()); 4.获取计算机类型信息.获取计算机类型信息p使用使用platform.architectureplatform.architecture()()函数可以函数可以获取计算机类型信息。

      获取计算机类型信息p【例【例5-95-9】】 打印当前计算机类型信息打印当前计算机类型信息import platformimport platformprint(platform. machine());print(platform. machine()); 5.获取计算机的网络名称.获取计算机的网络名称p使用使用platform.nodeplatform.node()()函数可以获取计算机的函数可以获取计算机的网络名称网络名称p【例【例5-105-10】】 打印当前计算机的网络名称打印当前计算机的网络名称import platformimport platformprint(print(platform.nodeplatform.node());()); 6.获取计算机的处理器信息.获取计算机的处理器信息p使用使用platform.processorplatform.processor()()函数可以函数可以获取计算机的处理器信息获取计算机的处理器信息p【例【例5-115-11】】 打印当前计算机的处理打印当前计算机的处理器信息import platformimport platformprint(print(platform.processorplatform.processor());()); 7.获取计算机的综合信息.获取计算机的综合信息p使用使用platform.unameplatform.uname()()函数可以获函数可以获取计算机的以上所有综合信息。

      取计算机的以上所有综合信息p【例【例5-125-12】】 打印当前计算机的综打印当前计算机的综合信息import platformimport platformprint(print(platform.unameplatform.uname());()); 8.获取.获取Python版本信息版本信息p使用使用platform.python_buildplatform.python_build()()函数可以函数可以获取获取PythonPython完整版本信息,包括完整版本信息,包括PythonPython的的主版本、编译版本号和编译时间等信息主版本、编译版本号和编译时间等信息p【例【例5-135-13】】 打印打印PythonPython版本信息版本信息import platformimport platformprint(print(platform.python_buildplatform.python_build());()); 【【例例5-14】】p打印打印PythonPython主版本信息主版本信息import platformimport platformprint(print(platform.python_versionplatform.python_version())()); ;print(print(platform.python_version_tuplatform.python_version_tupleple());()); 【【例例5-15】】 打印打印Python修订版本信息修订版本信息import platformimport platformprint(platform.python_revision());print(platform.python_revision()); 9.获取.获取Python编译器信息编译器信息使用使用platform. platform. python_compilerpython_compiler () ()函函数可以获取数可以获取PythonPython的编译器信息。

      的编译器信息例例5-165-16】】 打印打印PythonPython的编译器信息的编译器信息import platformimport platformprint(print(platform.python_compilerplatform.python_compiler());()); 10.获取.获取Python分支信息分支信息 【例【例5-17】】 打印打印Python的分支信息的分支信息import platformimport platformprint(platform.python_branch());print(platform.python_branch()); 11.获取.获取Python解释器的实现版本信息解释器的实现版本信息p CPythonCPython:默认的:默认的PythonPython实现脚本大多数情况实现脚本大多数情况下都运行在这个解释器中下都运行在这个解释器中 CPythonCPython是官方的是官方的pythonpython解释器,完全按照解释器,完全按照PythonPython的规格和语言定义的规格和语言定义来实现,所以被当作其他版本实现的参考版本。

      来实现,所以被当作其他版本实现的参考版本CPythonCPython是用是用C C语言写的,当执行代码的时候语言写的,当执行代码的时候PythonPython代码会被转化成字节码因此代码会被转化成字节码因此CPythonCPython是个字节码解是个字节码解释器p PyPyPyPy:由:由PythonPython写成的解释器很多地方都和写成的解释器很多地方都和CPythonCPython很像的实现这个解释器的代码先转化成很像的实现这个解释器的代码先转化成C C,然后再编译然后再编译PyPyPyPy比比CPythonCPython性能更好因为性能更好因为CPythonCPython会把代码转化成字节码,会把代码转化成字节码,PyPyPyPy会把代码转化会把代码转化成机器码成机器码 p Psyco Psyco:类似:类似PyPyPyPy的解释器现在已经被的解释器现在已经被PyPyPyPy取代了 pJythonJython:使用:使用javajava实现的一个解释器,可以实现的一个解释器,可以把把javajava的模块加载在的模块加载在pythonpython的模块中使用。

      的模块中使用pIronPythonIronPython:使用:使用C#C#语言实现,可以使用在语言实现,可以使用在.NET .NET 和和 Mono Mono 平台的解释器平台的解释器pCLPythonCLPython:使用:使用 Common LispCommon Lisp实现的解释器,实现的解释器,它允许它允许 Python Python 和和 Common Lisp Common Lisp 的代码混合使的代码混合使用pPyS60PyS60:诺基亚:诺基亚 S60 S60 平台的实现版本平台的实现版本 pActivePythonActivePython::基于基于CPythonCPython然后添加一系列然后添加一系列拓展的一个实现是由拓展的一个实现是由ActiveStateActiveState发布的pCythonCython::一个允许把一个允许把PythonPython代码转化成代码转化成 C/C++C/C++代码或者使用各种各样的代码或者使用各种各样的C/C++C/C++模块或文模块或文件的实现件的实现pQPythonQPython::CPythonCPython解释器的一个安卓接口。

      解释器的一个安卓接口pKivyKivy::一个开源的框架可以运行在一个开源的框架可以运行在 Android, iOS, Windows, Linux, MeeGo, Android, iOS, Windows, Linux, MeeGo, Android SDK, Android SDK, 和和 OS XOS X平台上支持平台上支持Python3Python3pSL4A (Scripting Layer for Android)SL4A (Scripting Layer for Android)::是是一个允许安卓上执行各种脚本语言的兼容层一个允许安卓上执行各种脚本语言的兼容层SL4A SL4A 有很多的模块,与有很多的模块,与PythonPython有关的是有关的是““Py4A” (Python for Android)Py4A” (Python for Android) Py4A Py4A 是安是安卓平台上的一种卓平台上的一种CPythonCPython 【【例例5-18】】import platformimport platformprint(platform. print(platform. python_implementationpython_implementation());()); 5.2.3 与数学有关的模块与数学有关的模块p1 1..mathmath模块模块pmathmath模块基础数学处理,可以实现基本道模块基础数学处理,可以实现基本道德数学运算。

      首先需要使用德数学运算首先需要使用importimport语句导语句导入模块,语句如下:入模块,语句如下:import mathimport mathpmathmath模块定义了模块定义了e e(自然对数)和(自然对数)和pipi((ππ)两个常量两个常量 【【例例5-19】】 打印打印e(自然对数)和(自然对数)和pi((π)的值)的值import mathimport mathprint(print(math.emath.e););print(print(math.pimath.pi););p运行结果如下:运行结果如下:2.7182818284590452.7182818284590453.1415926535897933.141592653589793 math模块的常用方法模块的常用方法方法原型具体说明asinmath.asin (x)返回 x 的反正弦asinhmath.asinh(x)返回 x 的反双曲正弦atanmath.atan(x)返回 x 的反正切atan2math.atan2(y,x)返回 y/x 的反正切atanhmath.atanh(x)返回 x 的反双曲正切ceilmath.ceil(x)返回大于等于x的最小整数copysignmath.copysign(x,y)返回与 y 同号的 x 值cosmath.cos(x)返回 x 的余弦coshmath.cosh(x)返回 x 的双曲余弦degreesmath.degrees(x)將x(弧长)转成角度,与radians为反函数expmath.exp(x)返回 exfabsmath.fabs(x)返回x的绝对值factorialmath.factorial(x)返回 x! 【【例例5-20】】import mathimport mathprint('math.ceil(3.4)=')print('math.ceil(3.4)=')print(math.ceil(3.4))print(math.ceil(3.4))print('math.fabs(-3)=')print('math.fabs(-3)=')print(math.fabs(-3))print(math.fabs(-3))print('math.floor(3.4)=')print('math.floor(3.4)=')print(math.floor(3.4))print(math.floor(3.4))print('math.sqrt(4)=')print('math.sqrt(4)=')print(math.sqrt(4))print(math.sqrt(4))print('math.trunc(3.4)=')print('math.trunc(3.4)=')print(math.trunc(3.4))print(math.trunc(3.4)) 运行结果如下:运行结果如下:math.ceil(3.4)=math.ceil(3.4)=4 4math.fabs(-3)=math.fabs(-3)=3.03.0math.floor(3.4)=math.floor(3.4)=3 3math.sqrt(4)=math.sqrt(4)=2.02.0math.trunc(3.4)=math.trunc(3.4)=3 3 2..random模块模块方法原型具体说明random()random.random()生成一个0到1的随机浮点数: 0 <= n < 1.0uniform random.uniform(a, b)用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,另一个是下限。

      如果a > b,则生成的随机数n满足a <= n <= b如果 a

      与内置的二数据类型用于浮点数计算与内置的二进制浮点数实现进制浮点数实现floatfloat相比,相比,Decimal Decimal 数据类型更数据类型更适用于金融应用和其他需要精确十进制表达的情适用于金融应用和其他需要精确十进制表达的情况首先需要使用首先需要使用importimport语句导入模块语句导入模块decimaldecimal,,语句语句如下:如下:from decimal import Decimalfrom decimal import Decimal使用下面的方法可以定义使用下面的方法可以定义DecimalDecimal类型的数据:类型的数据:Decimal(Decimal(数字字符串数字字符串) ) 【例【例5-27】】from decimal import Decimalfrom decimal import Decimalprint(Decimal("1.0") / Decimal("3.0"))print(Decimal("1.0") / Decimal("3.0"))p运行结果如下:运行结果如下:0.33333333333333333333333333330.3333333333333333333333333333 【【例例5-28】】from decimal import Decimalfrom decimal import Decimalfrom decimal import getcontextfrom decimal import getcontextgetcontext().prec = 6getcontext().prec = 6print(Decimal("1.0") / Decimal("3.0"))print(Decimal("1.0") / Decimal("3.0"))运行结果如下:运行结果如下:0.3333330.333333 4..fractions模块模块fractionsfractions模块用于表现和处理分数。

      首先需要使用模块用于表现和处理分数首先需要使用importimport语句导入模块语句导入模块fractionsfractions,语句如下:,语句如下:import fractionsimport fractions使用下面的方法可以定义分数数据:使用下面的方法可以定义分数数据:x = x = fractions.Fractionfractions.Fraction( (分子分子, , 分母分母) ) 【【例例5-29】】import fractionsimport fractionsx = x = fractions.Fractionfractions.Fraction(1, 3)(1, 3)print(x)print(x)p运行结果如下:运行结果如下:1/31/3 Fraction对象将会自动进行约分对象将会自动进行约分from decimal import getcontextfrom decimal import getcontext 【例【例5-30】】import fractionsimport fractionsx = x = fractions.Fractionfractions.Fraction(1, 6)(1, 6)print(x*4)print(x*4)p运行结果如下:运行结果如下:2/32/3 5.2.4 time模块模块p1 1.时间的表示方式.时间的表示方式p计算机可以使用时间戳和计算机可以使用时间戳和struct_timestruct_time数组两种数组两种方式表示时间。

      方式表示时间pUnixUnix时间戳时间戳(Unix timestamp)(Unix timestamp),或称,或称UnixUnix时间时间(Unix time)(Unix time)、、POSIXPOSIX时间时间(POSIX time)(POSIX time),是一,是一种时间表示方式,定义为从格林威治时间种时间表示方式,定义为从格林威治时间19701970年年0101月月0101日日0000时时0000分分0000秒秒( (北京时间北京时间19701970年年0101月月0101日日0808时时0000分分0000秒秒) )起至现在的总秒数起至现在的总秒数UnixUnix时时间戳不仅被使用在间戳不仅被使用在UnixUnix系统、类系统、类UnixUnix系统中系统中( (比比如如LinuxLinux系统系统) ),也在许多其他操作系统中被广,也在许多其他操作系统中被广泛采用 struct_time数组包含数组包含9个元素个元素p yearyear,,4 4位的年份,例如位的年份,例如20152015;;p monthmonth,月份,,月份,1~121~12的整数;的整数;p dayday,日期,,日期,1~311~31的整数;的整数;p hourshours,小时,,小时,0~230~23的整数;的整数;p minutesminutes,分钟,,分钟,0~590~59的整数;的整数;p secondsseconds,秒钟,,秒钟,0~590~59的整数;的整数;p weekdayweekday,星期,,星期,0~60~6的整数,星期一位的整数,星期一位0 0;;p Julian dayJulian day,一年有几天,,一年有几天,1~3661~366的整数;的整数;p DSTDST,表示是否为夏令时。

      如果,表示是否为夏令时如果DSTDST等于等于0 0,则给定,则给定的时间属于标准时区;如果的时间属于标准时区;如果DSTDST等于等于1 1,则给定的时间属,则给定的时间属于夏令时时区于夏令时时区 2.获取当前时间.获取当前时间调用调用time.time()time.time()函数可以获取当前时间的时间戳函数可以获取当前时间的时间戳例例5-315-31】】 使用使用time.time()time.time()函数的例子函数的例子import timeimport timeprint(time.time())print(time.time())运行结果如下:运行结果如下:1419225087.6732771419225087.673277 3.将一个时间戳转换成一个当前时区的.将一个时间戳转换成一个当前时区的struct_timep调用调用time.localtimetime.localtime()()函数可以函数可以  将一个时间将一个时间戳转换成一个当前时区的戳转换成一个当前时区的struct_timestruct_timep【例【例5-325-32】】 使用使用time.localtimetime.localtime()()函数的例函数的例子。

      子import timeimport timeprint(print(time.localtimetime.localtime( (time.timetime.time()))()))p运行结果如下:运行结果如下:time.struct_timetime.struct_time( (tm_yeartm_year=2014, =2014, tm_montm_mon=12, =12, tm_mdaytm_mday=22, =22, tm_hourtm_hour=13, =13, tm_mintm_min=26, =26, tm_sectm_sec=50, =50, tm_wdaytm_wday=0, =0, tm_ydaytm_yday=356, =356, tm_isdsttm_isdst=0)=0) 4.格式化输出.格式化输出struct_time时间时间ptime.strftime(time.strftime(格式字符串格式字符串, struct_time, struct_time时间时间) )p格式字符串中可以使用的日期和时间符号如下:格式字符串中可以使用的日期和时间符号如下:p %y %y 两位数的年份表示(两位数的年份表示(00-9900-99););p %Y %Y 四位数的年份表示(四位数的年份表示(000-9999000-9999););p %m %m 月份(月份(01-1201-12););p %d %d 月内中的一天(月内中的一天(0-310-31););p %H 24%H 24小时制小时数(小时制小时数(0-230-23););p %I 12%I 12小时制小时数(小时制小时数(01-1201-12););p %M %M 分钟数(分钟数(00=5900=59););p %S %S 秒(秒(00-5900-59););p %a %a 本地简化星期名称;本地简化星期名称;p p %A %A 本地完整星期名称;本地完整星期名称;p %b %b 本地简化的月份名称;本地简化的月份名称;p %B %B 本地完整的月份名称;本地完整的月份名称;p %c %c 本地相应的日期表示和时间表示;本地相应的日期表示和时间表示;p %j %j 年内的一天(年内的一天(001-366001-366););p %p %p 本地本地A.M.A.M.或或P.M.P.M.;;p %U %U 一年中的星期数(一年中的星期数(00-5300-53),星期天为星期的开始;),星期天为星期的开始;p %w %w 星期(星期(0-60-6),星期天为星期的开始;),星期天为星期的开始;p %W %W 一年中的星期数(一年中的星期数(00-5300-53)星期一为星期的开始;)星期一为星期的开始;p %x %x 本地相应的日期表示;本地相应的日期表示;p %X %X 本地相应的时间表示;本地相应的时间表示;p %Z %Z 当前时区的名称;当前时区的名称;p %% %%% %号本身号本身 。

      【【例例5-33】】 使用使用time.strftime()函数的例子函数的例子import timeimport timeprint(print(time.strftimetime.strftime('%Y-%m-('%Y-%m-%d',%d',time.localtimetime.localtime( (time.timetime.time())))())))p运行结果如下:运行结果如下:2014-12-222014-12-22 5.直接获取当前时间的字符串.直接获取当前时间的字符串p使用使用time.ctimetime.ctime()()可以返回当前时间的字可以返回当前时间的字符串p【【例例5-345-34】】 使用使用time.ctimetime.ctime()()函数的例函数的例子import timeimport timeprint(print(time.ctimetime.ctime())())p运行结果如下:运行结果如下:Mon Dec 22 14:09:54 2014Mon Dec 22 14:09:54 2014 5.3 自定义和使用模块自定义和使用模块5.3.1 5.3.1 创建自定义模块创建自定义模块5.3.2 5.3.2 导入模块导入模块 5.3.1 创建自定义模块创建自定义模块p可以把函数组织到模块中。

      在其他程序可可以把函数组织到模块中在其他程序可以引用模块中定义的函数这样可以使程以引用模块中定义的函数这样可以使程序具有良好的结构,增加代码的重用性序具有良好的结构,增加代码的重用性p模块是一个模块是一个.py.py文件,其中包含函数的定文件,其中包含函数的定义 p【【例例5-355-35】】 创建一个模块创建一个模块mymodule.pymymodule.py,其中包含,其中包含2 2个函数个函数PrintStringPrintString()()和和sumsum()(),代码如下:,代码如下:# # 打印字符串打印字符串defdef PrintStringPrintString( (strstr):): print( print(strstr););# #求和求和defdef sum(num1, num2): sum(num1, num2): print(num1 + num2); print(num1 + num2); 5.3.2 导入模块导入模块p【【例例5-365-36】】 假定假定【【例例5-355-35】】中创建的模中创建的模块块mymodule.pymymodule.py保存在与例保存在与例5-36.py5-36.py同一目同一目录下,引用其中包含的函数录下,引用其中包含的函数PrintStringPrintString()()和和sum()sum(),代码如下:,代码如下:import import mymodulemymodule # # 导入导入mymodulemymodule模块模块mymodule.PrintStringmymodule.PrintString("Hello Python")#("Hello Python")#调用调用PrintStringPrintString()()函数函数mymodule.summymodule.sum(1,2) #(1,2) #调用调用sum()sum()函数函数p运行结果如下:运行结果如下:Hello PythonHello Python3 3 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.