版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python3基础教程(邓英夏帮贵)全套可编辑PPT幻灯片课件Python3基础教程出版社或系部名称主讲:授课教师姓名第1章Python起步
Python是一种面向对象的、解释型的计算机高级程序设计语言,由GuidovanRossum于1989年开始开发,并于1991年发布第一个公开发行版。Python是纯粹的开源自由软件,其源代码和解释器均遵循GPL(GNU,GeneralPublicLicense)协议。Python具有语法简洁、易于学习、功能强大、可扩展性强、跨平台等诸多特点,使其成为最受欢迎的程序设计语言之一。本章主要内容Python开发环境及工具认识Python
Python程序的运行方式1231.1Python起步
欢迎来到Python的世界。本节将从发展、应用、特点和版本等内容开始,带领读者了解和认识Python。本节主要讲述:Python的发展Python的应用案例Python的应用领域Python的特点Python的版本Python3.x与2.x的区别1.1Python起步1.Python的发展1989年圣诞节,Guido在阿姆斯特丹开始准备开发一种新的程序设计语言。作为MontyPython喜剧团体的粉丝,Guido将这门新的语言命名为Python。Python的灵感来自ABC语言受到了Modula-3语言的影响结合了Unixshell和C的习惯2011年1月,TIOBE将Python评为编程语言排行榜2010年度语言TIOBE网站地址为:/tiobe_index2016年7月的TIOBE程序设计语言排行榜1.1Python起步2.Python的应用案例世界上最大的视频分享网站YouTube的视频分享服务大部分采用Python实现。首个P2P文件分享软件BitTorrent也是采用Python实现。大型多人在线游戏EVEOnline广泛使用了Python。Autodesk旗下的著名三维建模和动画软件Maya,为Python提供了API(ApplicationProgrammingInterface,应用程序编程接口)。Intel、Cisco、HP、Seagate、Qualcomm和IBM等公司使用Python进行硬件测试。Pixar、IndustrialLight&Magic等电影公司使用Python制作动画电影。JPMorganChase、UBS、Getco、Citadel等公司使用Python做市场预测。NASA、LosAlamos、Fermilab、JPL等使用Python执行科学计算。1.1Python起步2.Python的应用案例iRobot使用Python开发了机器人真空吸尘器。ESRI使用Python为终端用户定制GIS地图产品。NSA应用Python实现加密和智能分析。IronPort使用Python实现其电子邮件服务器产品。Google、Yahoo、搜狐邮箱、知乎、果壳等也广泛使用了Python。1.1Python起步3.Python的应用领域系统编程GUI编程Web应用组件集成数据库编程数值计算和科学计算游戏、图像、人工智能、机器人、XML等其他领域①系统编程Python可以访问操作系统API,为其编写可移植的系统维护和管理工具。Python程序可以访问系统目录和文件,可以运行其他程序,也可编程进程和线程执行并行处理等。Python标准库集成了POSIX(PortableOperatingSystemInterface,可移植操作系统接口)和其他常见操作系统工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式、命令行参数、标准流接口、Shell目录启动器、文件扩展名等等。大部分系统工具继承了Python的可移植特性。②GUI编程 GUI指GraphicalUserInterface(图形用户界面)。使用Python可以非常简单、快捷地实现GUI程序。Python内置了TKinter的标准面向对象接口TKGUIAPI。应用TKGUIAPI实现的PythonGUI程序,可以不做任何改变运行在Windows、XWindows(UNIX和Linux)和MacOS等多种平台上。
还可以使用其他一些扩展包,如PMW、wxPythonGUI、PythonCard和Dabo等,也可在Python中常见GUI应用。③Web应用 Python包含了标准Internet模块,可用于实现各种网络任务。Python脚本可以通过套接字进行网络通信;可编写服务器CGI脚本处理客户端表单信息;可通过FTP传输文件;可以生产、解析和分析XML文件;可处理Email;可通过URL获取网页;可从网页中解析HTML和XML;可通过XML-PRC、SOAP和Telnet通信。Python也可用第三方工具进行Web应用开发。例如,HTMLGen包可用于生成HTML文件,mod_python可用于生成运行于Apache服务器上的Python应用并支持PythonServerPage,Jython可以实现与Java无缝集成的Applet。大量的第三方工具,使Python可用于开发完整的、企业级的Web应用。④组件集成Python本身是用C实现的,所以可以使用C/C++进行扩展。Python也被称为“胶水”语言,即可集成各种C/C++库,也可将Python嵌入到其他语言中。例如,PythonCOM是Windows支持的COM,Jython是基于Java平台的Python系统,基于.NET平台实现的IronPython和各种CORBA工具包。利用组件包,可以编写Python脚本在Windows中处理微软的Word和Excel文件。⑤数据库编程Python提供了访问各种主流数据库的API,包括:MicrosoftSQLServer、Oracle、Sybase、DB2、MySQL、SQLite等。Python还自带一个Gadfly模块,提供了一个完整的SQL环境。从Python2.5起,SQLite成为了Python内置标准库的一部分。⑥数值计算和科学计算Python的NumPy扩展提供了大量的标准数学库的接口,例如矩阵对象、标准数学库等。SciPy和matplotlib扩展也为Python提供了快速数组处理、数值运算以及绘图功能。众多的扩展库使Python十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。相比于著名的科学计算商业软件MATLAB,Python是完全免费,而且是一门更易学、更严谨的程序设计语言。MATLAB主要专注于工程和科学计算,而Python通过各种扩展库,可以在满足计算的同时,实现文件管理、界面设计、网络通信等各种高级任务。⑦其他应用
Python的应用领域非常多,不能一一在书中列举。其他一下应用领域如下:使用pyagame扩展包进行图形和游戏应用开发。使用PySerial扩展包在Windows、Linux或其他系统上开发串口通信应用。使用PIL、PyOpenGL、Blender、Maya和其他扩展包开发图形或3D应用。使用PyRo扩展包开发机器人控制程序。使用XML库、xmlrpclib模块或第三方扩展包解析XML。使用pybrain扩展包开发人工智能应用。使用NLTK扩展包开发自然语言分析应用。1.1Python起步4.Python的特点免费、开源、自由面向对象跨平台功能强大简单易学①Python是免费的开源自由软件Python遵循GPL协议,也是免费的,不管是用于个人还是商业用途,开发人员都无需支付任何费用,也不用担心版权问题。作为开源软件,程序员可以获得Python源代码,以研究其内部细节,并可加以修改使其针对目标更加适用。也可以将Python嵌入系统或随产品一起发布,甚至于销售Python的源代码,都没有任何限制。②Python是面向对象的面向对象(ObjectOriented,简称OO)是现代高级程序设计语言的一个重要特征。多态、运算符重载、继承和多重继承等面向对象编程(ObjectOrientedProgramming,简称OOP)的主要特征也在Python的类模块中得到很好的支持。得益于Python简洁的语法和数据类型系统,Python中的OOP也变得极为简单,比其他语言容易。OOP是Python的一个重要特征,初学者也不必为此感到担心。Python同样支持传统的面向过程的编程模式,完全可以在具有一定基础之后再深入Python的OOP。③Python具有良好的跨平台特性Python是用ANSIC实现。C语言因为跨平台和良好的可移植性成为了经典的程序设计语言。这意味着Python也具有良好的跨平台特性,可在目前所有的主流平台上编译和运行。所以,在Windows下编程的Python程序,可以轻松地在Linux等其他系统中运行。因为Python是开源的,可以轻松将其移植到各种不同平台,包括:Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE、PocketPC、Symbian、Android和iOS等平台。④Python功能强大Python具有的一些强大功能如下。动态数据类型:Python在代码运行过程中跟踪变量的数据类型,不需要在代码中声明变量的类型,也不要求在使用之前对变量进行类型声明。自动内存管理:良好的内存管理机制意味着程序运行具有更高的性能。Python程序员无需关心内存的使用和管理,Python自动分配和回收内存。大型程序支持:通过子模块、类和异常等工具,允许Python应用于大型程序开发。内置数据结构:Python提供了常用数据结构支持。例如,列表、字段、字符串等都属于Python内置对象。同时,Python也实现了各种数据结构的标准操作,如合并、分片、排序和映射等。内置库:Python提供丰富的标准库,从正则表达式匹配到网络等,使Python可以现实多种应用。第三方工具集成:Python很容易集成第三方工具,通过各种扩展包将其应用到各种不同领域。⑤Python简单易学Python的设计理念是“优雅”“明确”“简单”,提倡“用一种方法,最好是只有一种方法来做一件事”。所以,Python语言语法简洁、代码易读。在国外一些知名大学开始采用Python作为程序设计课程的编程语言。例如,卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论均使用Python语言讲授。Python不强调数据类型,变量在使用之前无需定义其数据类型,同一个变量可存储不同类型的数据。1.1Python起步5.Python的版本1.1Python起步6.Python3.x与2.x的区别Python3.x默认使用UTF-8编码print()函数代替了print语句完全的面向对象用视图和迭代器代替了列表比较运算中的改变整数类型的改变字符串的改变取消了file数据类型异常处理的改变其他主要的语法改变①Python3.x默认使用UTF-8编码②print()函数代替了print语句③完全的面向对象④用视图和迭代器代替了列表下面的常用方法或函数在Python2.x中返回列表,在3.x中有多改变。字典的keys()、items()和values()方法用返回视图代替了列表,2.x中的iterkeys()、iteritems()和itervalues()不再支持。map()、filter()和zip()函数用返回迭代器代替了列表。⑤比较运算中的改变比较运算的主要改变如下。用!=代替了<>。比较运算<、<=、>=和>在无法比较两个数据大小顺序时,会产生TypeError异常。在Python2.x中,1<''、0>None、len<=len等运算返回False,而在3.x中则产生TypeError异常。在==和!=中,不兼容类型的数据视为不相等。⑥整数类型的改变整数类型的主要改变如下。取消了long类型,整数类型只有int一种。不再支持用后缀l或L表示长整数。在Python3.x中,/(除法)运算返回浮点数(float类型)。2.x中两个整数的/运算返回整数(截断了小数部分)。整数不再限制大小,删除sys模块中的maxint(最大整数)常量。不再支持以数字0开头的八进制常量(如012),而改成用前缀“0o”表示(如0o12)。⑦字符串的改变在Python2.x中,字符串中的字符默认为单字节(8位),字符串的类型可分为str和unicdoe两种。带前缀串前缀“u”或“U”的字符串为unicdoe类型,其他的字符(包含带前缀串前缀“b”“B”“r”或“R”的字符串)为str类型。所有的字符串在输出时会将包含的字符直接输出。例如:⑦字符串的改变在Python3.x中,字符默认为Unicode字符,即双字节字符。字符串的数据类型分为str和bytes两种。仍可使用字符串前缀“u”或“U”,但会被忽略。在Python3.x中,字符串前缀“b”或“B”表示二进制字符串,其类型为bytes。例如:⑧取消了file数据类型⑨异常处理的改变在Python3.x中,异常处理的改变主要如下。所有异常都从BaseException继承,并删除了StardardError异常。取消了异常类的序列行为和.message属性。用raiseException(args)代替raiseException,args语法捕获异常的语法改变,引入了as关键字。在Python2.x中,用下面的代码捕捉和处理异常。⑨异常处理的改变在Python3.x中,用下面的代码捕捉和处理异常。⑩其他语法改变其他主要的语法改变如下。加入了键词加入“as”和“with”。增加了常量“True”“False”和“None”。加入nonlocal语句。使用noclocalx声明x为函数外部的变量。删除了raw_input(),用input()代替。去除元组参数解包。不能像def(a,(b,c)):pass这样定义函数了。增加了2进制字面量,如'0b110110110'。bin()函数可返回整数的2进制字符串。扩展的可迭代解包。在Python3.X里,“a,b,*x=seq”和“*x,a=seq”都是合法的,只要求两点“x”是list。对象和“seq”是可迭代的。面向对象引入了抽象基类。类的迭代器方法next()改名为__next__(),并增加内置函数next(),用以调用迭代器的__next__()方法。1.2Python程序的运行方式
不同程序设计语言的程序,其运行方式有所不同。本节主要讲述:计算机程序设计语言的分类计算机程序的运行方式Python程序的运行方式Python的实现Python程序的可执行文件1.2Python程序的运行方式1.计算机程序设计语言的分类机器语言计算机内部只能识别用0、1表示的二进制代码,计算机能够直接识别和执行的二进制指令的集合称为机器语言。机器语言的优点是直接执行、运行速度快。其缺点是程序员需要记忆二进制机器指令,编程难度大、容易出错、程序难以阅读和调试。汇编语言为了克服机器语言的缺点,产生了用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(例如ADD表示加法运算、MOV表示数据传递),这就是汇编语言。所以,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。1.2Python程序的运行方式1.计算机程序设计语言的分类高级语句机器语言和汇编语言都是面向计算机硬件,对机器过分依赖,要求程序员对计算机硬件结构及其工作原理都十分熟悉。随着计算机技术的发展,人们开始采用一些与人类自然语言更接近、计算机能够接受、规则明确、自然直观和通用易学的计算机语言来编写程序。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。目前,广泛使用的Python、Java、C、C++、C#等语言均属于高级语言。1.2Python程序的运行方式2.计算机程序的运行方式解释方式解释方式是指源程序进入计算机时,翻译程序逐条翻译程序指令,每翻译一条指令便立即执行。编译方式编译方式是指源程序输入计算机后,翻译程序首先将整个程序翻译成用机器语言表示的目标程序,然后计算机再执行该目标程序,获得计算结果。解释方式不会产生目标程序。1.2Python程序的运行方式3.Python程序的运行方式程序交互方式1.2Python程序的运行方式4.Python的实现Cpython原始的、标准的Python实现方式通常称作CPython,前缀C表示它是用可移植的ANSIC语言实现。通常,从Python官方网站下载的Python属于CPython,不少MacOS或Linux机器上预安装的Python也属于CPython。JythonJython最早成为JPython,是Python在Java环境中的实现。Jython包含了Java类,它将Python源程序翻译成Java字节码,并通过Java虚拟机运行。Jython实现了Python与Java的无缝集成。利用Jython,在Python中可访问所有Java类,从而用于开发WebApplet和servlet,创建基于Java的GUI应用。1.2Python程序的运行方式4.Python的实现IronPythonIronPython是在微软的.NET平台上实现的Python。IronPython和CPython类似,提供了交互式命令行。在交互式命令行,可用Python访问所有.NET库1.2Python程序的运行方式5.Python的可执行文件Python程序可打包为一个独立的可执行程序。Python世界中将其称为冻结二进制文件(FrozenBinary)。冻结二进制文件是将程序的字节码、PVM以及程序所需的Python支持文件等捆绑到一起形成的一个独立的文件包。在Windows系统中冻结二进制文件就是一个exe文件。用户直接运行该文件包即可启动Python程序,也无需额外Python来运行程序。常用的第三方冻结二进制文件生成工具有py2exe和pyinstaller。1.3Python开发环境及工具Python支持多种操作操作系统,本书以Windows10(32位)为平台讲解Python(使用Python3.5.1版本)。Python编程工具可以使用各种纯文本编辑软件(如Windows记事本、TextPad等),或者是各种集成开发工具(如IDLE、NetBeans等)。本节主要讲述:Python的下载和安装Python编程工具:IDLEPython编程工具:记事本Eclipse+PyDevNetBeans1.3Python开发环境及工具1.Python的下载和安装可从Python官方网站下载Python安装程序,下载地址为:/downloads/windows/。32位Windows系统下载“Windowsx86executableinstaller”Windows10中的Python菜单项包括:IDLE(Python3.532-bit):用于开打Python集成开发环境IDLE。Python3.5(32-bit):用于打开Python命令行工具,等同于在Windows命令行执行Python.exe。Python3.5Manuals(32-bit):用于打开chm格式的Python3.5手册。Python3.5ModulesDocs(32-bit):用于打开HTML版的Python参考文档。1.3Python开发环境及工具2.Python编程工具:IDLE1.3Python开发环境及工具3.Python编程工具:Windows记事本1.3Python开发环境及工具3.Python编程工具:Eclipse+PyDev1.3Python开发环境及工具4.Python编程工具:NetBeans本章完Python3基础教程出版社或系部名称主讲:授课教师姓名第2章Python编程基础Python语法简单,容易学习和掌握。本章将从Python程序的基本结构开始,讲解Python语言的编程基础知识,包括Python程序基本结构、基本输入输出、运算符、变量与表达式以及内置基本数据类型(数字、集合、字符串、列表、元组和字典)等内容。本章主要内容变量与动态数据类型Python程序基本结构基本输入输出123基本数据类型42.1Python程序基本结构Python程序结构涉及代码块、注释、语句分隔、语句续航和关键字与大小写等内容。本节主要讲述:用缩进表示代码块代码注释语句续行语句分隔关键字与大小写2.1.1用缩进表示代码块在Java、C/C++等语言中,用花括号表示代码块,例如:2.1.1用缩进表示代码块
Python使用缩进(空格)来表示代码块。通常,语句末尾的冒号表示代码块的开始。在if、for、while、函数、类等定义中都会使用到代码块。例如:2.1.1用缩进表示代码块在包含代码嵌套时,应注意同级的代码块,其缩进量应保持相同(不同可能会导致出错或得到意外的结果)。例如:2.1.2代码注释注释用于为程序添加说明性的文字。Python在运行程序时,会忽略被注释的内容。Python注释有单行注释和多行注释。单行注释用“#”表示注释开始,“#”之后的内容不会被执行。单行注释可以单独占一行,也可放在语句末尾。多行注释是用三个英文的单引号“'''”或双引号“"""”作为注释的开始和结束符号。2.1.3代码续行通常,Python中的一条语句占一行,没有类似于Java中的分号等语句结束符号。在遇到较长的语句时,可使用语句需要符号,将一条语句写在多行之中。Python有两种续行方式。一种是使用“\”符号。
应注意在“\”符号之后不能有任何其他符号,包括空格和注释。例如:2.1.3代码续行另一种特殊情况下的续行方式是在使用括号(包括圆括号()、方括号[]和大括号{}等)时,括号中的内容可分多行书写,括号中的空白和换行符都会被忽略。例如:2.1.4语句分隔
2.1.5关键字与大小写Python语言的基本组成中使用的各种标识符,如if、for、while等,可称为关键字。Python对大小写敏感,关键字和各种自定义标识符(如变量名、函数名等)在使用时区分大写和小写。例如:if不能写成If或IF,abc和Abc是两个不同的变量。下面的代码在交互模式下输入“If2<5:”,按【Enter】键换行时,Python提示语法出错:
2.1.5关键字与大小写下面的代码说明了abc和Abc是两个不同的变量:2.2基本输入和输出在Python程序中,通常用input和print函数来执行基本的输入和输出。本节主要讲述:基本输入基本输出2.2.1基本输入input函数用于获得用户输入数据,其基本格式为:其中,变量和提示字符串均可省略。input函数将用户输入以字符串返回。用户按【Enter】键完成输入,【Enter】键之前的全部字符均作为输入内容。例如:
2.2.1基本输入input函数用于获得用户输入数据,其基本格式为:其中,变量和提示字符串均可省略。input函数将用户输入以字符串返回。用户按【Enter】键完成输入,【Enter】键之前的全部字符均作为输入内容。例如:
2.2.1基本输入如果需要输入整数或小数,则需要使用int或float函数进行转。例如:
2.2.1基本输入在使用input输入数据时,如果没有输入任何数据,按【Ctrl+Z】组合键中断输入退出,则会产生EOFError异常。例如:
2.2.2基本输出
2.2.2基本输出
2.2.2基本输出
2.3基本数据类型:数字数据类型决定了程序如何存储和处理数据。Python完善的数据类型系统,使得在Python程序中可以轻松完成各种数据处理。数字是程序处理的一种基本数据。Python核心对象集合包含的数字类型包括:整数(int,无小数点的数)、浮点数(float,带小数点的数)、复数、固定进度的十进制数、分数等。本节主要讲述:数字常量数字运算小数分数数学函数2.3.1数字常量1.整数常量
整数常量就是不带小数点的数。例如,123、-12、0、9999999999999999等。在Python3.X中,不再区别整数和长整数。整数理论上可以是无穷大,只要计算机内存空间足够。例如,下面在交互模式下分别输出2和9的100次方:一般的整数常量都是十进制的。Python还允许将整数常量表示为二进制、八进制和十六进制:二进制:以0b或0B开头,后面跟二进制数字(0或1)。例如,0b101、0B11。八进制:以0o或0O开头,后面跟八进制数字(0~7。例如,0o15、0O123。十六进制:以0x或0X开头,后面跟十六进制数字(0~9、A~F),字母大写或小写都可以。例如,0x12AB、0X123。提示:不同进制只是整数的不同书写形式,程序运行时都会处理为十进制数。整数常量在程序中使用时,都会生成一个整数对象。int函数的第一个参数只能是整数字符串,即第一个字符可以是正负号,其他字符必须是数字,不能包含小数点或其他符号,否则会出错。例如:Python提供了内置函数bin(x)、oct(x)和hex(x)用于将整数转换为对应进制的字符串。例如:2.3.1数字常量2.浮点常量
12.5、2.、3.0、1.23e+10、1.23E-10等都是合法的浮点数常量。可以用type函数查看数据类型。例如:2.3.1数字常量3.复数常量
复数常量表示为“实部+虚部”形式,虚部以j或J结尾。例如:2+3j、2-3J、2j。可用complex函数来创建复数。complex函数基本格式为:2.3.1数字常量4.布尔(bool)类型常量
布尔类型以成为Python的一种正式的数据类型。布尔类型有两个值True和False,分别用于表示逻辑真和逻辑假。True和False是两个预定义的内部变量。从面向对象的角度看,bool类型是int类型的子类,True和False是bool类型的实例。用于计算时,True对应整数1,False对应整数0。例如:2.3.2数字运算常用的数字运算如表2-1所示。2.3.2数字运算1.运算的优先级表2-1中,操作符的运算优先级按从上到下的顺序优先级依次从高到低。可以用括号(括号优先级最高)改变计算顺序。例如:
2.3.2数字运算2.计算中的自动数据类型转换在遇到不同类型的数字参数运算时,Python总是将简单的类型转换为复杂的类型。例如:Python中的类型复杂度为:布尔型比整数简单、整数比浮点数简单、浮点数比复数简单。2.3.2数字运算3.真除法和floor除法“/”运算称为真除法,这是为了和传统除法进行区别。在Python3.0之前的版本中,“/”运算在两个操作数都是整数时,计算结果只保留整数部分(称为截断除法);在有一个操作数是浮点数时,计算结果才保留小数部分。在Python3.X中,“/”运算执行真除法,即无论操作数是否为整数,计算结果都保留小数部分,其类型为float类型。例如:
“//”运算称为floor除法。“x//y”的计算结果为不大于“x/y”的最大整数。当两个操作数都是整数时,结果为int类型,否则为float类型。例如:2.3.2数字运算4.求余数“x%y”计算结果为x除以y的余数,余数符号与y一致。若有一个操作数为浮点数,则结果为浮点数,否则为整数。例如:
2.3.2数字运算5.位运算
~、&、^、|、<<、>>都是位运算符,按操作数的二进制位进行操作。按位取反~操作数的二进制位中,1取反为0,0取反为1,符号位也参数操作。例如:
2.3.2数字运算5.位运算按位与&将两个操作数按相同位置的二进制位进行与操作,两个位上都是1时,位的与结果为1,否则为0。例如:
2.3.2数字运算5.位运算
2.3.2数字运算5.位运算
2.3.2数字运算6.逻辑运算逻辑运算(也称布尔运算)指逻辑值(True或False)执行not、and或or操作。在判断逻辑值时,属于下列情况的值Python都视为逻辑假:NoneFalse各种数字类型的0,例如:0、0.0、(0+0j)等。空的序列,例如:''、()、[]等。空的映射,例如:{}。包含了返回值为0或False的__bool__()或__len__()方法的用户自定义类的实例。上述情况之外的值则视为逻辑真。
2.3.2数字运算6.逻辑运算
2.3.2数字运算7.比较运算
2.3.3小数因为计算机中硬件限制,浮点数有一个缺点就是缺乏精确度。例如:Python2.4起,引入了一种新的数字类型:小数对象。小数可以看作是固定精度的浮点数,它有固定的位数和小数点,可以满足要求精度的计算。
2.3.3小数
2.3.3小数1.
2.3.3小数1.
2.3.4分数分数是Python2.6和3.0版本引入的新类型。分数对象明确地拥有一个分子和分母,分子和分母保持最简。使用分数可以有效避免浮点数的不精确性。分数使用fractions模块中的Fraction函数来创建。分数创建后可用于各种计算。例如:
2.3.5数学函数2.3.5数学函数2.3.5数学函数2.3.5数字函数
2.4变量与动态数据类型
C、C++和Java等都属于静态数据类型语言,即要求变量在使用之前必须声明其数据类型(即变量定义)。Python属于动态数据类型语言,其数据类型处理方式有所不同。本节主要讲述:变量与对象对象的垃圾回收变量的命名规则赋值语句变量的共享引用2.4.1变量与对象首先分析下面的赋值语句:x=5Python在执行该语句时,其执行过程包含三个步骤。第一步:创建表示整数5的对象。在Python中,所有的数据都是以对象方式存在。第二步:检查变量x是否存在,若不存在则创建它。第三步:建立变量x与对象5的引用。
在内存中,引用的实质就是指针,与C语言中的指针类似。在Python中使用变量时,必须理解下面几点:变量在第一次赋值时被创建,再次出现时直接使用。变量没有数据类型的概念。数据类型属于对象,类型决定了对象在内存中的存储方式。变量引用了对象。当在表达式中使用变量时,变量立即被其引用的对象替代。所以变量在使用之前必须为其赋值。2.4.2对象的垃圾回收当对象没有任何引用时,其占用的内存空间会自动被回收——称为自动垃圾回收。在内部,Python为每一个对象创建一个计数器,计数器记录对象的引用次数。当计数器为0时,对象被删除,其占用的内存被回收。2.4.3变量的命名规则Python中变量命名应遵循如下规则:必须以下划线或字母开头,后面接任意数量的下划线、字母或数字。Python3.x支持Unicode字符,所以汉字等各种非英文字符也可作为变量名。例如,_abc、速度、r_1等都是合法的变量名,而2abc、price$则不是。变量名区分大小写。Abc和abc是两个不同的变量。禁止使用Python保留字(或称关键字)。保留字在Python中具有特殊意义,用保留字作变量名会导致语法错误。表2-2列出了Python中的部分保留字2.4.3变量的命名规则除了命名规则外,在Python中使用变量还有一些使用惯例,应尽量避免变量名使用这些样式:前后有下划线的变量名通常为系统变量,例如,_name_、_doc_都是系统变量。以一个下划线开头的变量(如_abc)不能被from…import*语句从模块导入。以两个下划线开头、末尾无下划线的变量(如__abc)是类的本地变量。2.4.4赋值语句赋值语句用于创建变量、建立变量到对象的引用。Python支持多种格式的赋值语句:简单赋值、序列赋值、多目标赋值和增强赋值等。1.简单赋值简单赋值用于为一个变量建立对象引用。例如:2.4.4赋值语句
2.4.5变量的共享引用共享引用指多个变量引用了同一个对象。例如:从上面的代码可以看出,将变量赋值给另一个变量时,将会使两个变量引用同一个对象。给变量赋予新的值,会使变量引用新的对象,原来的引用被删除。当变量共享引用时,如果修改了被引用的对象,意味着通过所有引用对象的变量获得的将是改变之后的对象的值。例如:2.5变量与动态数据类型
集合(set)是Python2.4引入的一种新类型。集合常量与字字典类似,用花括号表示,例如:{1,2,3}。集合中的元素是唯一、无序和不可改变的。集合支持数学理论中的各种集合运算。本节主要讲述:集合常量集合运算集合基本操作冻结集合2.5.1集合常量集合常量用为字典对象保留的花括号表示,也可用内置的set函数来创建。例如:2.5.2集合运算集合对象支持下列运算:2.5.3集合基本操作集合中的元素是不能进行修改的,但可以为集合添加或删除元素。例如:集合也可用for循环执行迭代操作。例如:集合元素是不可改变的,因此不能将可变对象放入集合中。集合、列表和字典对象均不能加入集合。元组可以作为一个元素加入集合。例如:2.5.4冻结集合冻结集合是一个不可改变的集合,可以作为其他集合的元素。2.6数据类型:字符串字符串是一种有序的字符集合,用于表示文本数据。字符串中的字符可以是ASCII字符、各种符号以及各种Unicode字符。严格意义上,字符串属于不可变序列,意味着直接修改字符串(即不能原处修改)。字符串中的字符按照从左到右的顺序,具有位置顺序,即支持索引、分片等操作。
本节主要讲述:字符串常量字符串基本操作字符串方法字符串格式化表达式bytes字符串2.6.1字符串常量Python字符串常量可用下列多种方法表示:单引号:'a'、'123'、'abc'双引号:"a"、"123"、"abc"三个单引号或双引号:'''Pythoncode'''、"""Pythonstring""",三引号字符串可以包含多行字符。带r/R前缀的Raw字符串:r'abc\n123'、R'abc\n123'带u/U前缀的Unicode字符串:u'asdf'、U'asdf'。1.单引号与双引号在表示字符串常量时,单引号和双引号没有区别。在单引号字符串中可嵌入双引号,在双引号字符串中可嵌入单引号。在交互模式下,直接显示字符串时,默认用单引号表示。如果字符串中有单引号,则用双引号表示。注意,字符串打印时,不会显示表示字符串的单引号或双引号。2.三引号三引号通常用于表示多行字符串(也称块字符)。例如:三引号的另一种作用是作为文档注释,被三引号包含的代码块作为注释,在执行时被忽略。例如:3.转义字符转义字符用于表示一些不能直接输入的各种特殊字符。Python常用转义字符如表2-4示。4.Raw字符串在Raw字符串中,Python不会解析其中的转义字符。Raw字符串的典型应用是表示Windows系统中的文件路径。mf=open('d:\temp\newpy.py','r')open语句试图打开d:\temp目录中的newpy.py文件,Python会将文件名字符串中的“\t”和“\n”处理为转义字符,从而导致执行错误。为避免这种情况,可将文件名字符串中的反斜线表示为转移符。例如:mf=open('d:\\temp\\newpy.py','r')更简单的办法是用Raw字符串来表示文件名字符串。例如:mf=open(r'd:\temp\newpy.py','r')另一种替代办法是将文件名字符串中的反斜线用正斜线表示。例如:mf=open('d:/temp/newpy.py','r')2.6.2字符串基本操作2.6.3字符串方法2.6.2.6.4字符串格式化表达式字符串除了用format()方法进行格式化外,还可使用格式化表达式来处理字符串。字符串格式化表达式用%表示,%之前为需要进行格式化的字符串,%之后为需要填入字符串中的实际参数。例如:>>>"The%s'spriceid%4.2f"%('apple',2.5)"Theapple'spriceid2.50"在字符串“The%s'spriceid%4.2f”中,%s和%4.2f是格式控制符。参数表('apple',2.5)中的参数依次填入各个格式控制符。使用时,格式控制符的基本结构如下:%[name][flags][width[.precision]]格式控制符其中:name为字典对象的键,flags为正负号+/-、左对齐-或0(补零标志),width指定数字的宽度,precision指定数字的小数位数。2.6.5bytes字符串bytes对象是一个不可变的字节对象序列,是一种特殊的字符串——可称为bytes字符串。bytes字符串用前缀b和传统字符串表示。例如:单引号:b'a'、b'123'、b'abc'双引号:b"a"、b"123"、b"abc"三个单引号或双引号:b'''Pythoncode'''、b"""Pythonstring"""2.7数据类型:列表
列表是一种有序的序列,可包含各种类型的元素。本节主要讲述:列表基本特点列表基本操作常用列表方法2.7.1列表基本特点列表常量用方括号表示,例如:[1,2,'abc']。列表对象是一种有序序列,其主要特点如下:列表可以包含任意类型的对象:数字、字符串、列表、元组或其他对象。列表是一个有序序列。与字符串类似,列表中的每一项按照从左到右的顺序,可通过位置偏移量进行索引和分片。列表是可变的。首先列表长度可变,即可添加或删除列表成员。其次,列表中的对象可直接修改。列表存储的是对象的引用,类似于C/C++的指针数组。每个列表成员存储的是对象的引用,而不是对象本身。2.7.2列表的基本操作2.7.2常用列表方法2.8数据类型:元组元组可以看作是不可变的列表,它具有列表的大多数特点。元组常量用圆括号表示,例如,(1,2)、('a','b','abc')都是元组。本节主要讲述:元组特点元组的基本操作元组方法2.8.1元组的特点元组的主要特点如下:元组可包含任意类型的对象。元组是有序的。元组中的对象可通过位置进行索引和分片。元组的大小不能改变,即不能为元组添加对象,也不能删除元组中的对象。元组中的对象也不能改变。用于列表类似,元组中存储的是对象的引用,而不是对象本身。2.8.2元组的基本操作2.8.3元组方法2.9数据类型:字典字典是一种无序的映射的集合,包含一系列的“键:值”对。字典常量用花括号表示,例如:{'name':'John','age':25,'sex':'male'}。其中,字符串name、age和sex为键,字符串John和sex以及数字25为值。本节主要讲述:字典的特点字典基本操作字典常用方法字典视图2.9.1字典的特点字典具有下列主要特点:字典的键通常采用字符串,但也可以用数字、元组等不可变的类型。字典值可以是任意类型。字典也可称为关联数组或散列表,它通过键映射到值。字典是无序的,它通过键来索引映射的值,而不是通过位置来索引。字典属于可变映射,通过索引来修改键映射的值。字典长度可变,可为字典添加或删除“键:值”对。字典可以任意嵌套,即键映射的值可以是一个字典。字典存储的是对象的引用,而不是对象本身。2.9.2字典的基本操作2.9.3字典常用方法2.9.4字典视图字典的items()、keys()和values()方法用于返回字典键值对的视图对象。视图对象支持迭代操作,并可反映未来对字典的修改。视图对象不是列表,不支持索引。通常用list()方法将视图对象转换为列表。2.10文件操作文件是操作系统管理和存储数据的一种方式。Python使用内置的文件对象来处理文件。本节主要讲述:打开和关闭文件读写文本文件读写二进制文件用文件存储Python对象2.10.1打开和关闭文件open()函数用于打开文件,并创建一个文件对象。open()函数基本格式为:myfile=open(filename[,mode])其中,myfile为引用文件对象的变量,filename为文件名字符串,mode为文件读写模式。文件读写模式有如下几种:w:写文件,创建新文件。若文件已存在,原来的文件被覆盖。a:以追加方式写文件。若文件存在,写入的数据默认添加到文件末尾。文件不存在时会创建新文件。r:读文件,省略文件读写模式时,默认为读文件。b:组合使用(wb、ab、rb),表示读写二进制文件,未使用时读写文本文件。+:用在模式末尾,表示打开文件后可同时进行读、写操作。例如:w+、r+。close()方法用于关闭文件。通常,Python会使用内存缓冲区缓存文件数据。关闭文件时,Python可将缓冲的数据写入文件,然后关闭文件,释放对文件的引用。当然,Python可自动关闭未使用的文件。2.10.2读写文本文件2.10.3读写二进制文件2.10.4用文件存储Python对象如果直接用文本文件或二进制文件格式直接存储Python中的各种对象,通常需要进行繁琐的转换。可以使用Python标准模块pickle处理文件中对象的读写。本章完Python3基础教程出版社或系部名称主讲:授课教师姓名第3章程序流程控制通常,程序结构分为三种:顺序结构、分支结构和循环结构。程序中的语句按照先后顺序执行,称为顺序结构。分支结构则根据条件测试执行不同的代码。循环结构指重复执行相同的代码。Python用if语句实现分支结构,for和while实现循环结构。最后本章还讲解了和循环有关系的迭代和列表解析。本章主要内容while循环if分支结构for循环123迭代和列表解析43.1if分支结构Python用if语句来选择要执行的程序代码,从而实现分支结构。在if语句内部,可以包含其他的语句,包括if语句。所以,if语句是目前接触到的第一个复合语句。本节主要讲述:if语句基本结构真值测试if…else三元表达式3.1.1if语句基本结构
根据Python缩进规则,if、elif和else必须对齐,以表示它们是同一个语句。各个语句块中的代码同样必须对齐。elif和else都可以省略,可以有多个elif。1.简单if语句最简单的if语句不包含elif和else。例如:2.双分支if语句双分支if语句由if和else两部分组成。例如:3.多分支if语句多分支if语句由if、一个或多个elif和else部分组成,else部分可省略。例如:3.1.2真值测试Python与C/C++在处理真值和逻辑运算的方式上有所不同。在Python中:任何非0数字和非空对象都为真。数字0、空对象(如空列表[]、空字典{})None都为假比较和相等测试返回True(真)或False(假)逻辑运算and和or会返回参与运算的真或假的对象。1.比较和相等测试比较和相等测试总是返回True或False。例如:2.not运算not运算返回True或False。例如:3.and和orand和or运算符总是返回参与运算的对象,而不是True或FalsePython在计算and运算时,总是按从左到右的顺序计算。在找到第一个为假的对象时,返回该对象,即使右侧还有需要计算的对象,计算都结束。这种计算方式称为短路计算。如果参与运算的对象都为真,则返回最后一个为真的对象。例如:or运算同样执行短路计算,在找到第一个为真的对象时,返回该对象,计算结束。例如:3.1.3if…else三元表达式3.2for循环在第2章迭代字符串、列表等序列时已经用到了for循环。for循环是Python中的一个通用的序列迭代器,可以遍历序列对象中的所有对象。本节主要讲述:for循环基本格式多个变量迭代break和continue嵌套使用for循环3.2.1for中基本结构for循环基本格式如下:else部分可以省略。for执行时,依次将可迭代对象object中的值赋值给变量var。var每赋值一次,则执行一次循环体语句块。循环执行结束时,如果有else部分,则执行对应的语句块。else部分只在正常结束循环时执行。如果用break跳出循环,则不会执行else部分。例如:3.2.2多个变量迭代3.2.3break和continuebreak语句用于跳出当前循环,即提前结束循环(包括跳过else)。continue则用于跳过循环体剩余语句,回到循环开头开始下一次迭代。例如,下面的代码用for循环找出100~999范围内的前10回文数字——3位数中个位和百位相同的数字为回文数字:3.2.4嵌套使用for循环Python允许嵌套使用for循环,即在for循环内部使用for循环。例如,下面的代码输出100以内的素数——除了1和它本身之外不能被其他数整除的数是素数:3.3while循环
while循环在测试条件为真时执行循环体,也称为“当型循环”。如果测试条件一开始就为假,则不会执行循环体。本节主要讲述:while循环基本结构嵌套使用while循环3.3.1while循环基本结构while循环基本结构如下:与for循环类似,可在循环体中使用break和continue语句。else部分可以省略。3.3.2嵌套使用while循环Python允许在while循环的内部使用while循环。例如,下面的代码输出九九乘法表:3.4迭代和列表解析迭代操作和列表解析均以循环为背景,意味中按顺序处理可迭代对象中的元素。本节主要讲述:迭代列表解析zip、map和filter3.4.1迭代Python中的各种序列(字符串、列表、元组、字典以及文件等)均可作为可迭代对象,可迭代对象可以使用迭代器来遍历包含的元素。字符串、列表、元组以及字典等对象虽然是可迭代对象,但它们没有自己的迭代器。Python使用iter()函数来生成可迭代对象的迭代器,然后对迭代器调用next()函数来遍历对象。next()函数next()函数依次返回可迭代对象的一个元素,无元素返回时,会产生一个StopIteration异常。3.4.2列表解析1.带条件的列表解析可以在列表解析结构末尾使用if头部来执行筛选。例如:2.多重解析嵌套与for循环类似,在列表解析中也可在for部分进行嵌套。例如:对嵌套的解析,也可分别使用if执行筛选。例如:3.列表解析用于元组4.列表解析用于集合5.列表解析用于字典5.列表解析用于字典6.列表解析用于文件列表解析用于文件时,每次从文件读取一行数据。例如:7.其他的列表解析应用3.4.3zip、map和filterzip、map和filter函数生成的可迭代对象均有自己的迭代器,可使用next函数执行迭代操作。1.zip函数zip函数参数为多个可迭代对象,每次从每个可迭代对象中取一个值组成一个元组,直到可迭代对象中的值取完,生成的zip对象包含了一系列的元组。例如:2.map函数map函数用于将函数映射到可迭代对象,对可迭代对象中的每个元素应用该函数,函数返回值包含在生成的map对象中。3.filter函数filter函数与map函数有点类似,filter函数用指定函数处理可迭代对象。若函数返回值为真,则对应可迭代对象元素包含在生成的filter对象序列中。例如:本章完Python3基础教程出版社或系部名称主讲:授课教师姓名第4章函数与模块函数可以看成是语句的集合,通过函数调用来执行其包含的语句。函数可以返回一个计算结果,根据每次函数调用的参数,可以返回不同的计算结果。Python利用函数提高代码的重用率,减少了代码冗余。模块是程序代码和数据的封装。模块中定义的变量、函数或类等可导入到其他文件中使用。Python正是通过模块提供各种功能,例如,在前面章节中用到的sys、random等都是模块。本章主要内容模块函数变量作用域123模块包44.1函数在编写程序时,往往会遇到在多处使用的类似代码。这时,可将重复代码提取出来,定义为函数。从而简化编程工作量,也使代码结构简化。本节主要讲述:定义函数函数调用函数参数函数嵌套定义lambda函数递归函数函数列表4.1.1定义函数4.1.2函数调用函数通过函数名加上一组圆括号进行调用,参数放在圆括号内,多个参数之间用逗号分隔。在Python中,所有的语句都是实时执行的,不像C/C++存在编译过程。def也是一条可执行语句,定义一个函数。所以函数的调用必须在函数定义之后。在Python中,函数名也是一个变量,它引用return语句返回的值,没有返回值时,函数值为None。4.1.3函数参数在定义函数时,参数表中的各个参数称为形式参数,简称形参。调用函数时,参数表中提供的参数称为实际参数,简称实参。在Python中,变量保存的是对象的引用,类似C/C++中的指针。实参传递给形参就是将对象的引用赋值给形参。1.参数的多态性多态是面向对象的一个特点,指多一个行为针对不同对象可能会得到不同的结果。Python中的变量无类型属性,变量可引用各种不同类型的对象。同一个函数,传递的实际参数类型不同时,可获得不同的结果,体现了多态性。例如:2.参数赋值传递通常,函数调用时按参数的先后顺序,将实参传递给形参。例如:调用add(1,2.5)时,1传递给a,2.5传递给b。Python允许以形参赋值的方式,指定将实参传递给形参。例如:3.参数传递与共享引用4.小心使用可变参数当实参是可变对象时,如列表、字典等,若在函数中修改形参,因为是共享引用,通过实参也获得修改后的对象。例如:5.有默认值的参数在定义函数时,可以为参数设置一个默认值。调用函数时如果未提供实参,则形参取默认值。例如:6.传递任意个数的参数在定义函数时,若参数名前面使用星号“*”,则表示可接受任意个数的参数,这些参数保存在一个元组中。例如:7.必须通过赋值传递的参数Python允许使用必须通过赋值传递的参数。在定义函数时,带星号参数之后的参数必须通过赋值传递。例如:4.1.4函数嵌套定义4.1.5lambda函数lambda函数也称表达式函数,用于定义一个匿名函数,可将该函数赋值给变量,通过变量调用。lambda函数定义的基本格式如下。lambda函数也充分说明了Python中的函数名就是一个变量,该变量引用了一个函数对象。lambda函数非常适合定义简单的函数,与def不同,lambda的函数体只能是一个表达式,可以调用其他的函数,但不能使用Python的其他语句。例如:4.1.6递归函数递归函数是指在函数体内调用函数本身。例如,下面的函数fac()实现计算阶乘:4.1.7函数列表Python允许使用将函数作为列表对象,然后通过列表索引来调用函数。例如:4.2变量作用域变量作用域就是变量的可访问范围,也可称为命名空间。在第一次给变量赋值时,Python创建变量。第一次给变量赋值的位置决定了变量的作用域。本节主要讲述:有哪些作用域global语句nonlocal语句4.2.1有哪些作用域本地作用域:不包含其他函数定义的函数的内部称为本地作用域。函数内通过赋值创建的变量,函数参数都属于本地作用域。函数嵌套作用域:包含了其他函数定义的函数的内部称为函数嵌套作用域。文件作用域:程序文件(也称模块文件)的内部为文件作用域。内置作用域:最顶层,包含了Python各种预定义变量和函数的作用域称为内置作用域。4.2.2global语句global语句用于在函数内部声明全局变量。4.2.3nonlocal语句nonlocal语句与global语句类似,它声明变量是外部的本地变量。4.3模块在Python中,模块就是一个包含变量、函数或类的定义的程序(也称脚本)文件。当然,模块中除了各种定义之前,还可包含其他的各种Python语句。本节主要讲述:导入模块 -导入与执行模块用import还是from -重新载入模块模块搜索路径 -嵌套导入模块查看模块对象属性 -__name__属性和命令行参数隐藏模块数据4.3.1导入模块模块需要先导入,然后才能使用其中的变量或函数。可使用import或from语句来导入模块,基本格式如下。import模块名称import模块名称as新名称from模块名称import导入对象名称from模块名称import导入对象名称as新名称from模块名称import*1.import语句import语句用于导入整个模块,可用as为导入的模块指定一个新的名称。使用import语句导入模块后,模块中的对象均以“模块名称.对象名称”的方式来引用。2.from语句from语句用于导入模块中的指定对象。导入的对象直接使用,不需要使用模块名称作为限定符。3.from…import*语句使用星号时,可导入模块顶层的全局变量和函数。例如:4.3.2导入与执行模块import和from语句在执行导入操作时,会执行被导入的模块。模块中的赋值语句执行时创建变量,def语句执行时创建函数对象。总之,模块的中全部语句都会被执行,而且只执行一次。当再次使用import或from语句导入模块时,并不会执行模块代码,而只是重新建立到已经创建的对象的引用而已。import和from语句是隐性的赋值语句:Python执行import语句时,创建一个模块对象和一个与模块文件同名的变量,并建立变量和模块对象的引用。引用模块执行时创建的各种对象的变量名对象的属性使用。Python执行from语句时,会同时在当前模块和导入模块中创建同名变量,并引用模块在执行时创建的对象。4.3.3用import还是from在使用import导入模块时,模块中的变量名使用“模块名.”作为限定词,所以不存在歧义,即使与其他模块变量同名也没有关系。在使用from时,当前模块的同名变量引用了模块内部的对象。在遇到与当前模块或其他模块变量同名时,使用时应特别小心。1.使用模块内的可修改对象使用from导入模块时,可以直接使用变量名引用模块中的对象,避免了输入“模块名.”作为限定词。这种便利有时也会遇到麻烦。2.使用from导入两个模块中的同名变量4.3.4重新载入模块再次使用import和from导入模块时,其本意通常是重新执行模块代码,恢复相关变量到模块执行时的状态。显然,这种愿望通过再次使用import和from导入是无法达到的。Python在imp模块中提供了reload函数来重新载入并执行模块代码。使用reload重载模块时,如果模块文件已经被修改,则会执行修改后的代码。4.3.5模块搜索路径在导入模块时,Python会执行下列三个步骤:搜索模块文件:在导入模块时,省略了模块文件的路径和扩展名,因为Python会按特定的路径来搜索模块文件。必要时编译模块:找到模块文件后,Python会检查文件的时间戳,如果字节码文件比源代码文件旧(即源代码文件作了修改),Python就会执行编译操作,生成最新的字节码文件。如果字节码文件时最新的,则跳过编译环节。如果在搜索路径中只发现了字节码,而没有源代码文件,则直接加载字节码文件。如果只有源代码文件,Python则直接执行编译操作,生成字节码文件。执行模块:执行模块的字节码文件。文件中所有的可执行语句都会被执行,所有的变量在第一次赋值时被创建,函数对象也在执行def语句时创建。如果有输出也会直接显示。可使用标准模块sys的path属性来查看当前搜索路径设置。例如:通常,sys.path由四部分设置组成:程序的当前目录(可用os模块中的getcwd()函数查看当前目录名称)操作系统的环境变量PYTHONPATH中包含的目录(如果有的话)Python标准库目录任何.pth文件包含的目录(如果有的话)在Windows10系统中添加和配置环境变量PYTHONPATH4.3.6嵌套导入模块Python允许任意层次的嵌套导入模块。每个模块都是一个名字空间,嵌套导入意味作名字空间的嵌套。在使用模块变量名时,则需要依次使用模块变量名作为限定符。例如,有两个模块文件test.py和test2.py,代码分别如下。4.3.7查看模块对象属性在导入模块时,Python会使用模块文件创建一个模块对象。模块中引用各种对象的变量名成为对象的属性。Python也为模块对象添加一些内置的属性。可使用dir函数来查看对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47574.2-2026离心铸钢及合金铸件第2部分:耐热材料
- GB 19172-2026平菇菌种
- fsc工作外包合同
- 万科销售外包合同
- 临床试验外包合同
- 交付运输外包合同
- 人员培训外包合同
- 信息化岗位外包合同
- 企业技术外包合同
- 供应链外包合同
- 传媒公司员工培训课件
- 数据标注规范化作业标准
- 建筑工地生产安全事故风险评估报告
- 透析患者的健康管理
- 2025山西运城河津市城市基础设施建设投资开发有限公司招聘工作人员笔试及后续环节笔试历年典型考点题库附带答案详解试卷2套
- 2025年医学基础知识高频考题及答案(共1000题)
- 2026年中考英语词汇(背诵版)
- 部编版《道德与法治》六年级下册第7课《多元文化-多样魅力》课件共77张课件
- 沈阳华润万象城调研报告148p
- 老年活动打麻将活动方案
- 借名贷款协议合同范本
评论
0/150
提交评论