Python带我起飞:入门、进阶、商业实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-10 11:11:13

点击下载

作者:李金洪

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Python带我起飞:入门、进阶、商业实战

Python带我起飞:入门、进阶、商业实战试读:

前言

目前,人工智能技术在现代社会中的地位日趋重要,尤其在自动化和数据驱动的诸多领域,如图像识别、机器人学、搜索引擎、自动驾驶技术都有不俗的表现。Python语言借助AI和数据科学,攀爬到了编程语言生态链的顶级位置,成为应用最火,风头正劲的开发语言。

除了人工智能方向,Python语言还可以更高效地应用在Web应用开发、图形界面开发、系统网络运维、网络编程、科学与数字计算、3D游戏开发等诸多领域。

Python语言简洁优美,开发效率极高,得到了越来越多公司的青睐。“人生苦短,我用Python”这样的佳话也在业内广为流传。

不仅仅是业内企业,包括国家的教育机构也对Python语言高度重视:

·教育部考试中心在计算机二级考试中加入了“Python语言程序设计”科目。

·北京市和山东省也确定要把Python编程基础纳入信息技术课程和高考的内容体系。

·山东省最新出版的小学信息技术六年级教材中加入了Python内容。

·浙江省信息技术教材将编程语言从VB更换为Python。

这就是Python的火爆程度,中国已经开始全民学Python的时代了。未来10~20年后的年轻人,几乎人人都学过Python,掌握编程变得就像如今会用Office般普遍。而对于现在的我们,掌握了Python,就相当于跟上时代,掌握了未来……

一、本书特色

1.大量的教学视频

为了让读者更好地学习本书,作者给每一章内容都录制了教学视频(一共47段,共429分钟)。借助这些视频,读者可以更轻松地学习。

2.大量的典型应用实例,实战性强,有较高的应用价值

本书提供了42个Python相关的实战案例,理论讲解最终都落实到代码实现上。而且这些案例会伴随着图书内容的推进,不断地趋近于工程化项目的风格,具有很高的应用价值和参考性。

3.完整的源代码和配套素材

书中所有的代码都提供了免费下载,读者学习更方便。

另外,读者可以方便地获得书中案例的相关安装包和素材:如果是来源于网站的,则提供了有效下载链接;如果是作者制作的,则在随书资源中直接提供了。

4.语法规则覆盖广

本书几乎囊括了Python 3版本中所涉及的全部语法规则,读者在系统学习之后,仍可将其当作一本Python语法工具书长伴左右,遇到生僻语法时及时查阅。

5.商业案例,应用性强

本书提供的案例多数来源于真正的商业项目,具有高度的参考价值。有些代码甚至可以直接移植到自己的项目中,进行重复使用。使“从学到用”这个过程变得更加直接。

6.大量宝贵经验的分享

授人以鱼,不如授之以渔。本书在讲解知识时,更注重方法与经验的传递。全书共有几十个“注意”标签,其中的内容都是含金量很高的成功经验分享与易错事项总结,有关于经验技巧的,有关于风险规避的,可以帮助读者在学习的路途上披荆斩棘,快速融会贯通。

二、本书读者对象

·Python语言初学者 ·人工智能开发工程师

·Python爬虫初学者 ·使用Python进行数据分析的开发人员

·Python自动化运维初学者 ·需要提高动手能力的Pytho 技术人员

·人工智能初学者 ·大中专院校的相关学生

·Python开发工程师

三、关于作者

本书由李金洪主笔编写,参与本书编写的还有以下作者。

兰世战

资深高级工程师,中国移动互联网技术专家,获得中国移动集团“互联网十佳技术能手”称号,在移动通信行业耕耘13年,现主要工作及兴趣为互联网大数据分析、AI、CDN和区块链。主要使用C、Python、R、Matlab、Java等编程语言,先后从事传输网管、IP网络、互联网、CDN、DNS等专业和系统的研发、规划、建设和运维工作。已获得国家专利两项(独撰),集团和省级科技成果奖13项,发表学术论文10篇。

李昕

博士,副教授。2005年起至今任教于北京邮电大学网络技术研究院“网络与交换技术国家重点实验室”,目前担任北京邮电大学教育部重点实验室副主任,中国互联网协会特聘青年专家。目前的研究方向包括:软件定义网络(SDN)、软件定义广域网(SDWAN)、天地一体化内容分发网络。

何建斌

在通信行业有10年以上的从业经验,其中7年在大数据相关技术领域。曾参与并主导多个数据平台的搭建。对Hadoop及Spark生态圈的技术栈有较深刻的认识。现任某知名互联网安全管理企业高级工程师,负责基于互联网数据的深度学习研发工作。

刘金成

长期从事互联网网络与信息安全工作,有着丰富的网络安全技术实战经验,成功预警和发现近几年发生的多起大规模网络安全事件。

现任某互联网安全管理中心工程师,负责基于深度学习的互联网安全事件监测与发现工作。

张晓宇

中国科学院信息工程研究所副研究员,硕士生导师。长期从事人工智能、模式识别领域前沿技术研究,“吴文俊人工智能科学技术创新奖”二等奖获得者,IEEE/ACM/CCF核心成员、中国图像图形学会视觉大数据专委会副秘书长、中国自动化学会模式识别与机器智能专委会副秘书长。

许燕

一直致力于图像和音、视频领域的研究及应用,有多年一线写代码的经历。曾先后担任高级软件工程师、项目经理、技术经理、CTO等职务。现担任某视频公司CTO,全面负责产品研发及公司技术规划等。

眭新光

通信与信息系统博士,历任研发工程师、主任、项目经理、主管参谋,负责组织过大型国家专项项目、某大数据工程的规划论证。现任北京卓讯科信技术有限公司副总经理,负责战略规划和大型系统项目解决方案。

刘玉德

一直坚持在一线写代码。先后担任过高级软件工程师、项目经理、架构师、技术经理、CTO等职务,曾经架构过某个大型的互联网金融平台。现任一家创业型农业公司CTO,负责公司技术战略规划及团队建设。

另外,感谢本书的编辑吴宏伟先生,他为本书做了大量的细节调整。由于他的逐字推敲、一丝不苟,本书才变得语义更加通畅、内容更加通俗易懂。在此表示深深的感谢。

虽然我们对书中内容都进行了认真核实,并多次进行文字校对,但因时间和水平所限,书中疏漏和错误在所难免,敬请广者批评指正。联系作者请发E-mail到94092670@qq.com,或者可以加入本书讨论QQ群:274962708。

如要联系编辑,请发E-mail到wuhongwei@phei.com.cn。李金洪2018年4月第1篇入门

本篇介绍了Python语言的发源及特点、如何搭建Python开发环境、Python的语言规则,并演示了如何启动Python程序。一方面使读者对Python这门编程语言产生熟悉的感觉;另一方面也对它的基础规则有一个大体的了解,为后面的学习做准备。

▲第1章 了解Python

▲第2章 配置机器及搭建开发环境

▲第3章 语言规则——Python的条条框框第1章了解Python

Python是一门强大的解释型、面向对象的高级程序设计语言,它优雅、简单、可移植、易扩展,可用于桌面应用、系统编程、数据库编程、网络编程、Web开发、图像处理、人工智能、数学应用、文本处理等。1.1 了解Python的历史

Python的几个重大事件如下:

1989年,Guido van Rossum开发了Python语言。

1999年,第一个基于Python的Web框架(ZOPE)诞生。

2000年,Python 2.0版本发布,其中加入了内存回收机制,构成了现在Python语言框架的基础。

2004年,Python 2.4版本诞生,同时也诞生了Django这个Web框架。

2008年,Python 3.0版本诞生,其在2.X版本上实现了一次大的跳跃。

2010年,诞生了目前应用最广泛的Python 2.7版本。它是一个承接2.X和3.X特性的过渡版本。

目前,官方宣布Python 2.X系列将在2020年结束支持。从长远来看,Python 3.X会有更大的发展空间。1.2 Python可以做什么

Python是一门真正意义上的编程语言,除了可用于编写脚本、数值计算外,还可以用于编写命令行程序、编写带用户界面的应用程序、编写网站、绘制图形等。

使用Python,可以很容易地编写跨平台的应用程序。这些应用程序可以在不同的平台上直接使用,也可以被编译为独立的程序运行。Python脚本可以用来驱动MySQL、Sqlite、ArcGIS、Adobe Indesign等软件,也可以调用C、C++以及Fortran等语言的函数库,用途极广。

Python的应用领域非常广阔。很多人学习Python,不但是为了掌握一门技术,更是为了拥有更多的资源。GitHub上提供了数以万计的Python开源项目,供爱好者仔细研究。掌握了Python,就可以拥有并掌握这些资源。1.3 Python在数据科学中的地位及前景

目前,Python已经成为人工智能的第一主流语言。市面上各大主流人工智能框架——TensorFlow、CNTK、Caffe2等,都支持用户使用Python语言进行开发。

Python的语法简洁、通俗易懂,很容易上手。Python用户不需要使用层次复杂的花括号,只需留意缩进。Python还有完善的程序包管理系统(pip命令),使得安装与编写程序包都极为方便。

Python语言的学习,已经上升到了国家战略的层面。国家相关教育部门对“人工智能的普及”格外重视,将Python列入小学、中学和高中的教育体系中,为未来国家和社会的发展奠定了人工智能的人才基础,逐步由底层向高层推动“全民学Python”,从而进一步推动人工智能技术和社会人才结构的更迭。

关于人工智能技术,推荐读者阅读作者的另一本书——《深度学习之TensorFlow:入门、原理与进阶实战》。1.4 如何使用本书

本书配有相关视频可供读者参考。针对不同基础的读者,作者给出如下学习建议:

1.没有基础,习惯于听课式学习的读者

对于这类读者,建议直接去看本书的配套视频,同时对照书中的章节做好标注。对于习惯听课式学习的读者,视频可以充当讲课的老师,书籍可以充当课堂笔记。

2.有一定基础,想提升自己的读者

对于这类读者,如果时间有限,建议先看目录,直接找到自己关心的技术点去详细阅读;如果时间允许,还是建议把这本书从头到尾看一遍,这样可以系统而全面地掌握Python知识。

3.已经掌握Python语法知识的读者

对于已经掌握Python语法知识,或是已经学完本书内容的读者,本书还可以作为一个工具书,充当“语法字典”。

在众多编程语言中,Python的语法还是有其独特性的。有些地方很有“说道”。对于一些不常使用的语法规则,作者本人有时也难免会有遗忘(出于工作需要,很多时候作者需要同时使用好几种编程语言编写代码,难免会弄混)。尤其在学习他人的开源代码过程中,当遇到某些语法没有看懂时,可以即时查阅本书。并不是所有的知识点都可以轻松地从网上查到,有些不常用的知识点找起来会很费事。在身边备上本书,可以即时查阅,会很省时间。第2章配置机器及搭建开发环境

本章主要服务于零基础的学员,介绍了如何在Windows操作系统中搭建Python 3.0版本的开发环境。示例中的开发工具为Anaconda。

当然,读者也可以根据自己的习惯使用其他操作系统(如Linux、Mac)或是别的开发工具。●本章教学视频说明●

作者按照图书的内容和结构,录制了同步对应的教学视频。

本章共有3段教学视频,总时长为11 min左右。包含以下内容:

·讲述Python的版本及开发环境的安装。

·介绍了Anaconda的开发环境。

·通过对书中2.4节实例的演示来讲解Spyder的使用。2.1 Python版本及开发环境介绍

Python的版本大致可以分为两类—— Python 3.0以前的版本和Python 3.0以后的版本。这两类版本的语法差异比较大,且兼容性较差。

·Python 3.0以后的版本,从语法设计到具体实现,都解决了很多之前版本中所出现的问题与缺陷,是当今的主流版本。在Python 3.0以后的版本中,相对比较新的是3.6版本。

·在Python 3.0以前的版本中,相对比较经典的是2.7版本。

本书以Python 3.6版本来讲解Python。2.1.1 Python的运行方式

早先的Python,都是使用命令行的方式来运行的。后来,又出现了很多带有界面的开发工具,可以交互的方式运行Python。下面依次介绍。

1.命令行方式

命令方式是一种最基础方式。直接在DOS窗口(如图2-1所示)中输入具体的命令,以运行Python程序。由于Python是解释性语言,也可以在命令行里一句一句地输入命令。一边编程,一边执行。图2-1 命令行界面

用户可以在命令行窗口下,通过“python+空格+文件名”的方式来运行一个Python代码文件,如图2-1所示。(只有在本机安装好Python环境后,该命令才会生效)

2.图形交互式

图形交互式,是一种相对高级的运行方式。在调试和编写代码时,用户感觉更加友好。后面的2.3.1小节会介绍操作界面。

一般来讲,编写代码时最好使用图形交互式。待代码成熟后,运行应用可以使用命令行的方式。命令行方式,可以使程序在运行时节省不必要的开销。2.1.2 常见的集成开发环境(IDE)

关于Python的集成开发环境有很多,如Upterm、Ptpython、Sublime3、IPython等。本书重点介绍Anaconda开发环境。使用Anaconda的好处是集成性高。Anaconda中包含了很多常用的开发软件包,用户无需再下载和配置Python的各种安装包,省去了大量的时间。2.2 下载及安装Anaconda

在Anaconda的环境搭建中,重点是版本的选择。下面来详细介绍下Anaconda的下载及安装。

1.下载Anaconda软件(1)通过https://www.anaconda.com来到Anaconda官网。(2)单击右上角的Download按钮,如图2-2所示。图2-2 Anaconda首页(3)将网页拉到下方,单击界面最右侧的链接“Packages Included in Anaconda”,如图2-3所示。图2-3 单击“Packages Included in Anaconda”选项(4)进入Packages Included in Anaconda页,单击图中最后一行的“package repository”,如图2-4所示。图2-4 单击“package repository”(5)进入Anaconda repository页面,如图2-5所示。单击图中的“Anaconda installer archive”,下载完全版本。图2-5 下载连接(6)完全版本的安装文件如图2-6所示。其中有Linux、Windows、MacOSX的各种版本,可以根据需要自行选择。图2-6 下载列表(部分)

本书中使用的是Windows 64位下的Python 3.6版本,选择对应的安装包为Anaconda3-5.0.1-Windows-x86_64.exe(见图2-6中的标注)。

提示:

本书的内容均是基于Python 3.6版本。

虽然Python 3以上的版本算作同一阶段,但是每个版本间也会略有区别(例如:Python 3.5与Python 3.6),并且没有向下兼容。在与其他的Python软件包整合使用时,一定要按照需要整合软件包的说明文件来找到完全匹配的Python版本,否则会带来不可预料的麻烦。

另外,不同版本的Anaconda默认支持的Python版本是不一样的:支持Python 2的版本Anaconda,统一以“Anaconda 2”为开头来命名;支持Python 3的版本Anaconda,统一以“Anaconda 3”为开头来命名。Anaconda当前最新的版本为5.1.0,可以支持Python 3.6版本。

2.安装Anaconda软件

在Windows下安装Anaconda软件的方法,与一般的软件安装相似。右击安装包,在弹出的快捷菜单中选择“以管理员身份运行”命令即可。然后根据提示指定安装的路径。这里假设安装路径为C:\local\Anaconda。

在安装期间,会出现注册环境变量的页面,如图2-7所示。图2-7 注册环境变量的页面

图2-7中有两个复选框,建议全部都勾选,表示要注册环境变量。只有注册好环境变量,才可以在命令行下通过Python命令运行程序。

安装好Anaconda后,与Python配套的常用第三方库也一并安装好。其所在的路径如下:

C:\local\Anaconda3\Lib\site-packages

如果想要再安装其他的第三方库,可以使用Anaconda中自带的pip软件,即在命令行下直接输入“pip+空格+第三方安装包名称”即可。运行pip命令之后,系统会自动从网上下载相关的安装包,并安装到本机。例如,下面是在本机上安装深度学习框架TensorFlow的命令:

C:\Users\Administrator>pip install tensorflow

如果要卸载某个第三方安装包,直接将上面例子的install替换成uninstall即可。2.3 熟悉Anaconda 3开发工具

在本书中使用到的开发环境是Anaconda 3。在Anaconda 3里一般常用的有两个工具:Spyder、Jupyter Notebook,它们在“开始”菜单下的Anaconda 3(64-bit)目录下,如图2-8所示。图2-8 两个常用工具的位置2.3.1 快速了解Spyder

本书推荐使用Spyder作为编译器的原因是:它比较方便,属于Anaconda安装包中自带的工具,不需要再额外安装其他东西,省去了大量的搭建环境时间;Spyder的IDE功能也很强大,基本上可以满足日常需要。

下面通过几个常用的功能来介绍其使用细节。

1.面板介绍

Spyder主界面可以分为7个区域,如图2-9所示。图2-9 Spyder面板(1)菜单栏:其中包含软件中所支持的全部功能;(2)工具栏:是菜单栏的快捷方式。具体放置哪些工具,可以通过勾选菜单“View /Toolbar”里的命令来实现,如图2-10所示;(3)工作区:编写代码的地方;(4)属性页的标题栏:用于显示当前代码的名字及位置;图2-10 快捷设置(5)查看栏:用于查看文件、调试时的对象及变量;(6)输出栏:集成了控制台功能的窗口,相当于一个shell终端。可以显示程序的输出信息,也可以在其中输入Python语句;(7)状态栏:用来显示代码及系统的相关信息。例如:当前文件的权限、代码的编码方式、代码中的光标位置、系统内存占用情况等。

2.注释功能

注释是编写代码中很常用的功能。在图2-10所示的菜单列表中勾选“Edit toolbar”命令,会看到在快捷菜单栏中多出了几个图标,如图2-11所示。图2-11 注释按钮

图2-11中箭头所指的按钮为“批量注释”按钮。选中多行代码后,单击该按钮,即实现注释代码;再次单击该按钮,则取消注释。“批量注释”按钮右侧的两个是“代码缩进”按钮与“取消缩进”按钮,不是太常用,可以通过快捷键“Tab”(缩进)与“Shift+Tab”(取消缩进)来实现。

3.运行功能

图2-12中,标注“1”的按钮为“运行”按钮,用于运行当前工作区内的Python文件。标注“2”的按钮为“运行设置”按钮,单击该按钮会弹出“Run Settings”窗口,在其中可以设置输入启动程序的参数。图2-12 运行相关的按钮

4.调试功能

图2-12中右侧的按钮为调试功能的按钮。在Python运行时,可以通过设置断点来进行调试。

5.源码操作工具条

当同时打开多个代码时,可能希望回到刚才看的代码的位置。在Spyder中,有一个功能可以帮你实现。在图2-10中勾选“Source toolbar”,会在快捷菜单栏看到如图2-13所示的几个图标。从左边起,第一个为建立书签,第二个为回退到上次代码位置,第三个为前进到下次代码位置。图2-13 Source

以上都是Spyder的常用操作。Spyder还有很多功能,这里就不一一介绍了。2.3.2 快速了解Jupyter Notebook

在网络上看到的一些深度学习源码中,好多扩展名为ipynb。这种扩展名为ipynb的文件是使用Jupyter Notebook软件生成的。

Jupyter Notebook是一个界面非常友好的代码开发工具。使用Jupyter Notebook打开的代码,既可以作为说明文档,又可以作为可运行的Python代码文件。Anaconda中也集成了这个软件。

在图2-8所示位置找到“Jupyter Notebook”并单击,看到如图2-14界面。图2-14 Jupyter Notebook界面

Jupyter Notebook是B/S结构,会先启动一个Web服务器,然后再启动一个浏览器,通过浏览器来访问本机的服务。在Jupyter Notebook中,可以从服务器上传/下载文件,并编写自己的ipynb文件代码。

关于Jupyter Notebook工具的具体使用方法,这里不做过多介绍。在网上可以查到好多使用教程。2.4 实例1:运行Python程序,并传入参数

下面通过例子来介绍如何运行Python程序。

实例描述

创建一个扩展名为py的Python源代码文件。编写代码,将传入Python程序中的参数显示出来,并使用下列两种方式启动Python程序:(1)在命令行中,启动Python程序并传入参数;(2)在Spyder中,启动Python程序并传入参数。2.4.1 在Spyder中新建Python文件,编写代码,运行代码

1.新建文件

单击“新建文件”按钮,创建一个文件,如图2-15所示。图2-15 新建文件

2.编写代码

单击“新建文件”按钮,会出现如图2-9所示的界面,在其中编写如下代码。

代码2-1:命令行参数

import sys #导入sys模块

print ('参数个数为:', len(sys.argv), '个参数。')#输出参数的个数

print ('参数列表:', str(sys.argv))#输出参数的内容

第1行的代码是,引入了sys模块。在程序执行时,系统将启动参数传递给sys模块下的argv变量。

第2行的代码是,使用len函数来计算启动参数sys.argv的长度,并通过print函数将其输出到屏幕上。

第3行的代码是,使用str函数将启动参数sys.argv转化为字符串,并输出到屏幕上。

3.运行程序

代码编写好之后,直接就可以运行了。(1)单击图2-16中箭头所指的按钮。图2-16 启动按钮(2)系统会提示是否要保存文件,这里将代码文件保存到本地硬盘(本例中保存的文件及路径为:d://python2/2-1 命令行参数.py)。(3)保存结束后,程序便开始运行。将在输出栏输出结果,如图2-17所示。图2-17 输出结果

图2-17中输出的内容为程序运行的结果。可以看到,默认的Python程序是有一个参数的。该参数的内容就是运行文件本身,即“D:/python2/2-1 命令行参数.py”(这正是作者演示的代码文件)。2.4.2 用命令行启动Python程序,并传入参数

编写好代码之后,就可以传入参数将其启动了。

先来演示用命令行运行Python程序的方法:(1)单击“开始”按钮,输入“cmd”后按Enter键,如图2-18所示。图2-18 启动命令行(2)屏幕会弹出一个黑框的窗口,在窗口中输入如下命令:

C:\Users\Administrator>D:

D:\>cd python2

D:\python2> python "2-1 命令行参数.py" arg1 arg2

前两行的意思是来到代码文件所在的目录,最后一行是使用python命令启动程序文件,并传入两个参数arg1、arg2。(3)按Enter键后显示如下结果:

参数个数为: 3 个参数。

参数列表: ['2-1 命令行参数.py', 'arg1', 'arg2']

这是程序的输出结果:第一行为参数的个数,第二行为参数的内容。2.4.3 用Spyder启动Python程序,并传入参数

下面演示在Spyder中运行Python程序:(1)在图2-12中,单击标注为“2”的按钮。(2)弹出如图2-19所示对话框,在其中勾选图2-19所示复选框并填入参数,单击“OK”按钮。(3)单击图2-16中箭头所指的按钮,启动程序。

这时在输出窗口就会看到参数结果的显示:

参数个数为: 3 个参数。

参数列表: ['D:/python2/2-1 命令行参数.py', 'arg1', 'arg2']

通过这个例子,读者能够掌握Spyder的基本使用方法。当需要传入参数时,按照本案例的方法配置一下参数即可。图2-19 输入参数第3章语言规则——Python的条条框框

Python属于编程语言的一种。在学习Python语言规则之前,有必要了解一下编程语言的各种分类,以及Python在其中所属的类型。了解这些之后,再来学习Python的基础语言规则和代码文件结构就会更容易理解。●本章教学视频说明●

作者按照图书的内容和结构,录制了同步对应的教学视频。

本章共有4段教学视频,总时长为28 min左右。包含以下内容:

·讲述了Python语言类型及基础规则。

·介绍了Python中模块与包的知识,还有模块的作用、分类、搜索路径、属性等内容。

·讲解模块的四种导入方式。

·通过3.6节的实例来演示模块的使用。3.1 了解编程语言的分类

计算机发展到今天,编程语言已经是五花八门。在这么多语言中,Python处于什么位置呢?为了更形象地描述Python语言特性,下面从多个角度来比较Python与其他语言的区别。

业界关于编程语言的分类标准有很多,有的从运行角度,有的则从形态角度。

1.从运行角度的分类

从运行角度来看,编程语言的类型可以分为两种:编译型和解释型。

Python属于解释型语言。(1)解释型语言:代码可以直接运行。当然,这也是依赖于附加程序(解释器)来实现的。解释器会不断地循环一组动作:取一行源程序,将其转成二进制指令,然后执行。一直下去,直到全部的源程序读取完毕。类似这样的语言还有JavaScript、VBScript、Perl等。(2)编译型语言:代码本身不能运行,需要一个附加程序(编译器)将其转换成由二进制代码组成的可执行文件,然后才可以运行。例如:C/C++、VB等。

提示:

解释型语言和编译型语言最大的区别是:(1)解释型语言的代码必须依赖于解释器才可以执行;(2)编译型语言的代码生成可执行程序后,可以独立执行。

也有一些附属的打包程序,可以将解释型语言的代码打包成为独立执行的程序。但总体来讲,使用打包程序的效率及性能会略慢于编译型语言生成的程序。

2.从形态角度的分类

从形态角度来看,编程语言的类型可以分为两种:动态语言和静态语言。

Python属于动态语言。(1)动态语言:是指程序运行时可以改变其结构,可以对变量或函数进行修改。因为程序中的代码是在运行时才开始检查数据类型的,所以没有运行的语句是被程序忽略的。即,定义变量时不需要指定数据类型,只有在第一次给变量赋值时,根据赋值的类型在内部指定该变量的类型。类似的语言还有Perl、Ruby等。(2)静态语言:常用于编译型语言,在编译时需检查数据的类型。即,在使用变量之前必须要定义好数据类型。如:C、C++、C#、Java等。

3.语义角度的编程语言分类

从语义角度来看,编程语言的类型可以分为两种:强定义类型和弱定义类型。

Python属于强定义类型。(1)强定义类型语言:会严格区分内部的变量类型。一旦指定了变量的类型,就必须经过转换才能存取为其他类型。类似的语言有C、Java等。(2)弱定义类型语言:是指不严格区分内部的变量类型,一般是只要大小放得下即可转化。类似的语言有汇编语言、VBScript、JavaScript等。

提示:

Python是一种动态解释型的强定义类型语言。

优点是:代码简洁、可读性强、开发效率比较高、可移植性好、可拓展性好、可嵌入性好;

缺点是:运行时的性能相对较低、源代码不能加密。3.2 基础规则

对于一个Python项目,它的代码部署路径与代码内容也是息息相关的,这里面涉及代码文件、模块、包的相关概念及使用规则。下面分别介绍。3.2.1 了解Python源代码相关的几个概念

使用Python语言编写的源代码,从粗到细可以分为模块文件、代码块、代码三部分。代码里又有“函数”和“类”两种概念。(1)模块文件:是指封装好的代码文件,可作为独立的模块被其他程序引用。(2)代码块:可以理解成为一个容器,其中可放置一条一条语句。一个模块文件、一个函数体、一个类、交互式命令中的单行代码,都可以称作一个代码块。(3)代码中的函数:在一个模块文件中,将若干条语句封装在一个代码块里以完成某个独立的功能,供其他程序使用。代码块是通过模块文件来承载的。(4)代码中的类:以面向对象思想,将变量及函数封装成具有某个类别特性的结构体。它可以模块文件的形式单独提供,也可以与本地程序一起放在相同代码文件中。3.2.2 语句的基本规则:变量、语句、代码块

Python语句的运行是在Python解释器中实现的。错误的Python语句不能被解释器所执行。

具体的语句规则如下:

1.变量的命名

可以使用字符数字和下画线的组合,首字母可以是字母或者下画线。例如下列的名字都是合法的:

Code 、_data、_name_、tt

2.语句区分

在Python解释器中,源代码是一行一行被解释执行的,行与行之间通过换行符号来区分。默认是一行一条语句,如果在一行中放有多条语句可以通过“;”来区分。例如:

A=6 #一行就是一条语句

B=8;cc=10 #这种属于两条语句,虽然在一行,但是使用分号分开了

3.代码块

通过缩进来表述“代码块”,即同一个代码块中的语句具有相同的缩进格式。缩进可以是使用空格或是Tab键来实现。

代码块的概念有点抽象,可以通过下面的例子来理解:

上面的代码是一个函数的定义及调用。

第一行代码为函数定义,第二行代码为函数fun的代码块内容。程序运行时,会先执行第三行代码,输出“hello main”,接着执行第四行代码,调用函数fun,输出“hello fun”。3.2.3 添加注释

英文字符“#”用来代表注释。它的生效范围是“行”,即在一行代码中#之后的内容将不被Python解释器处理。

注释一般用来说明代码的具体含义,以方便开发人员阅读。另外,也可以用来控制程序暂时不执行某一部分代码块。例如:

#print(“hello main”)#该语句前面有#号,表示为注释语句,不会被执行

上面的代码就不会被执行。

提示:

在Spyder中,还可以使用快捷操作快速批量添加或删除注释,具体见“2.3.1 快速了解Spyder”小节中的“2.注释功能”。

另外,也可以使用三个单引号(''')或者三个双引号(""")将代码段变为字符串,程序同样不会执行。例如:

上面的代码被一对三个单引号所组成的语句包围,系统会认为这是一个字符串,不会将其当作语句来执行。3.2.4 使用Python的“帮助”

在Python中使用help命令来获取帮助信息。它可以查找关于Python的基础函数、类型、常用库等信息。例如:

help(print) #显示print函数的帮助信息

输出如下信息:

Help on built-in function print in module builtins:

print(...)

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

Optional keyword arguments:

file: a file-like object (stream); defaults to the current sys.stdout.

sep: string inserted between values, default a space.

end: string appended after the last value, default a newline.

flush: whether to forcibly flush the stream.

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载