它是世界上最流行的编程语言之一,学好它会对你的职业生涯有很大的帮助,广泛应用于机器学习、深度学习、数据挖掘等领域。
掌握了它,高薪工作不是问题,数据科学家/数据分析师、人工智能工程师、网络安全工程师、软件工程师/全栈工程师、自动化测试工程师等职位,年薪50万是常有的事。
1.1 简介
它是当今主流的编程语言,应用范围十分广泛,例如:
(1)Web开发。是Web开发的主流语言,与JS、PHP等广泛使用的语言相比,类库丰富,使用简单,能针对一个需求提供多种解决方案,加之支持最新的XML技术,数据处理能力强大,因此在Web开发中占有一席之地。为Web开发领域提供的框架有、、、等。
(2)科学计算。它提供了支持多维数组运算和矩阵运算的模块、支持高级科学计算的模块、支持二维绘图功能的模块,并且简单易学,因此被科学家用来编写科学计算程序。
(3)游戏开发。很多游戏开发者先用C++或者Lua编写游戏逻辑代码,然后用C++编写对性能要求更高的模块,比如图形显示等。标准库中提供了可以用于制作2D游戏的模块。
(4)自动化运维。它也是一种脚本语言,标准库中提供了一些可以调用系统函数的库。因此经常用它来编写脚本程序,控制系统,实现自动化运维。
(5)多媒体应用。提供PIL、、等模块,可用于处理图像、声音、视频、动画等,并可动态生成统计分析图表;模块封装了应用程序编程接口,提供二维、三维图像处理函数。
(6)爬虫开发。爬虫程序通过自动化程序有针对性地爬取网络数据,提取可用资源。爬虫程序具有良好的网络支持、相对完善的数据分析和数据处理库,且灵活简洁,因此在爬虫领域得到广泛应用。
它是一种非常简单易学的语言,功能强大,数据结构高效,面向对象编程也很简单。因此,许多公司在快速开发应用程序和编写脚本时都会使用它,我也是它的忠实粉丝。
1.1.1 编程语言概述
我们人与人之间交流的时候,依赖的是自然语言,比如中文、英文、法语等;我们与计算机打交道的时候,依赖的是编程语言,比如C/C++、Java、C#、Go等。
计算机编程语言分为3类:1.机器语言 2.汇编语言 3.高级语言
1、机器语言:机器语言是第一代编程语言。早期的计算机语言只有机器语言,但现在很少有人学习和使用它。
机器语言是用0和1组成的二进制代码表示的指令,这类语言能被CPU直接识别,具有灵活、高效的特性,以下举几个例子:
但是机器语言有一个不容忽视的缺点:可移植性差。
2、汇编语言:汇编语言中,指令和地址用符号或助记符来代替二进制代码,所以汇编语言又称为符号语言。例如:汇编语言中的MOV指令:
MOV destination,source
这相当于:
destination=source
3.高级语言 高级语言并不是一种语言,而是多种编程语言的统称。
常见的高级语言有C、C++、Java、PHP、C#等。
从机器语言--->汇编语言--->高级语言的演变,其实就是为了让程序员开发程序更加容易,也越来越接近自然语言。
但同时效率也会越来越低,因为高级语言必须经过层层翻译成计算机可以执行的机器语言才能够运行。
1.1.2 解释器
它是一种解释型高级语言,代码的执行依赖于解释器。其中包括、、PyPy、、。其中:
它是解释器的官方版本,用C语言开发,也是使用最广泛的解释器。
基于,但交互方法强于
PyPy是一个注重执行速度的解释器,可以提高代码的执行速度。
运行在Java平台上的解释器
在 .NET 平台上运行的解释器
1.1.3 特点
优点:(1)简单。实现同样的功能,代码行数往往只有C、C++或Java代码行数的1/5到1/3。
(2)语法优美。该语言是一种高级语言,其代码接近人类语言。只要掌握英文单词代表的助记符,就能大致看懂代码。另外,语句之间的逻辑关系是通过强制缩进来体现的。任何人写出的代码都是规范的,风格统一,增加了代码的可读性。
(3)易学。与其他编程语言相比,它是一种易于学习的编程语言,可以让程序员更加专注于解决问题而不是语言本身的语法和结构。大部分语法源自C语言,但摒弃了C语言中复杂的指针。同时,它秉承“用最优解解决问题”的原则,简化了语法,降低了学习难度。
(4)开放源代码。它有足够吸引人的优点,吸引大量人使用和研究它,是(自由/开源软件)之一。用户可以自由地下载、复制、阅读和修改代码,并可以自由地发布修改后的代码,这使得相当一部分用户热衷于改进和优化它。
(5)可移植性。作为一种解释型语言,它可以在任何安装了解释器的平台上执行。因此,它具有很好的可移植性。用该语言编写的程序无需修改就可以在任何平台上运行。
(6)扩展性好。高层可以引入.py文件,包括标准库文件,也可以是程序员自己编写的.py文件;底层可以通过接口、库函数等调用其他高级语言编写的代码。
(7)类库丰富。解释器拥有丰富的内置类和函数库。世界各地的程序员通过开源社区贡献了数十万个第三方函数库,几乎涵盖了所有应用领域,使得开发者可以借助函数库实现某些复杂的功能。
(8)通用灵活。它是一种通用编程语言,可用于科学计算、数据处理、游戏开发、人工智能和机器学习等各个领域。该语言介于脚本语言和系统语言之间。开发人员可以根据需要将其用作脚本语言来编写脚本,也可以将其用作系统语言来编写服务。
(9)模式多样。解释器内部采用面向对象的方式实现,但在语法层面,既支持面向对象编程,也支持过程式编程,可供用户灵活选择。
(10)对中文支持良好。3.x的解释器采用UTF-8编码来表达所有字符信息。这种编码不仅支持英文,还支持中文、韩文、法文等多种语言,使得程序的字符处理更加灵活、简洁。
缺点:(1)执行效率不够高,程序执行效率仅为C语言程序的十分之一。
(2)3.x 与 2.x 不兼容。
1.2 安装
它可以在、、和Mac系统上使用,但是大部分同学的操作系统都不一样,所以下面只以操作系统为例演示解释器的安装过程。
但是大家要清楚,它用得最多的就是工作以后了,因为你写的程序最终是要放到网上给用户用的,这时候就需要放到服务器里去运行,所以这里面就必须要有解释器。
一般来说,使用Mac OS进行工作的都是大公司的程序员,技术水平较高的程序员,或者专门从事Mac OS应用程序开发的程序员。
1.2.1下的安装
(1)访问官网下载页面:
(2)点击超链接“”,进入版本软件下载页面,根据您的操作系统版本选择对应的软件包。例如:如果您的电脑使用7 64位操作系统,您可以在这里选择3.7.2版本,.exe格式的安装包。(注:x86-x64指64位系统,x86指32位系统。)
(3)下载完成后,双击安装包启动安装程序,勾选“Add 3.7 to PATH”(将安装路径添加到系统的环境变量中,方便查找解释器),选择“Now”即可自动安装解释器并配置环境变量,稍等片刻即可安装完成。
(4)在开始菜单栏中搜索“,找到并点击打开3.7(64位)。
(5)用户也可以在控制台中进入环境,具体操作为:打开控制台窗口,在控制台中的命令提示符“>”后输入“”,并按下回车键(键)
1.2.2下的安装
你可以自己百度一下,这里只是给出一个链接:安装在
1.2.3 在 Mac OS 上安装
Mac环境安装配置教程
1.3 代码执行
运行该程序有两种方式:交互式和基于文件:
交互式意味着解释器逐行接收代码并立即响应;
文件类型又叫批量类型,就是先把代码保存在文件中,然后启动解释器对代码进行批量解释。
1.3.1 以交互模式执行代码
1、交互式解释器或者控制台都可以以同样的操作交互式的运行程序,以控制台为例,进入环境后在命令提示符“>>>”后输入如下代码:
print("hello world")
按下回车键,控制台会立刻打印运行结果,运行结果如下:
hello world
1.3.2 以脚本模式执行代码
2. 以文件格式创建一个文件,在里面写入代码,并将文件保存为.py文件。这里以代码“(“”)”为例,在文件中写入这行代码,并以文件名“.py”保存文件。打开控制台窗口,在命令提示符“>”后输入命令“.py”即可运行程序。
1.4 集成开发环境
所谓集成开发环境,就是在开发程序代码的时候,把很多可以帮助提高代码开发效率的功能封装在一个应用程序中,这个应用程序就是集成开发环境。
集成开发环境有很多,最常见的有以下几种:
+ / nny
由于它的功能齐全,并且被很多人使用,所以我们选择它作为程序开发工具。
1.4.1 安装
如需下载安装,请访问官方网站,进入下载页面。
需要注意的是版本之间的区别。专业版()是收费的,社区版()是免费的。不同版本的特点如下:
此版本的特点:
版本特点:
在环境中安装
这里我们以为例讲解如何安装。
步骤1:双击下载的exe安装文件(--2018.3.4.exe),打开安装向导。
步骤2:单击【下一步>】按钮,进入“”界面,用户可以在此设置安装路径。
步骤3:单击图1-21中的【Next >】按钮,进入“ ”界面,可以进行选项配置。
步骤4:如果您使用的是64位操作系统,请在上面的界面中勾选除“32位”之外的所有选项,点击【Next >】按钮,进入“Menu”界面。
第五步:单击[ ]按钮开始下载JRE并安装。
步骤6:片刻之后,安装完成。单击[ ]按钮结束安装。
在此处插入图像描述
1.4.2 使用
(1)安装完成后,双击桌面PC图标打开,首次使用时,用户需先接受相关协议。
(2)点击[ ]按钮,进入“ ”界面,选择UI主题,建议选择黑色主题(比较养眼,黑色给人一种高档的感觉)。
(3)启动完成后,出现欢迎界面。
(1)新建:创建一个新项目。 (2)打开:打开一个现有项目。 (3)退出:从版本控制中检出项目。
(4)创建项目。点击【新建】,进入【】界面。这里设置项目存放路径为D:\,然后点击【】,进入项目界面。
(5)此时建立的项目为空项目,后面还需要在该项目中建立文件。选中项目名称,单击右键,在弹出的快捷菜单中选择【新建】→【文件】,弹出“新建文件”窗口,在窗口的名称文本框中将文件名设置为“”,单击【确定】按钮,完成文件建立。

(6)在.py文件中输入以下代码:
(“ !”)
(7)右键单击.py文件,在弹出的快捷菜单中选择【运行’】,运行程序。
1.4.3 插件
初学者可以跳过此部分,稍后在需要时再回来阅读。
(1)如何安装插件
在正式介绍该插件之前,我们先来简单了解一下该插件的安装方法。
打开文件————,在右侧的文本框中输入想要查看的插件名称,下方会列出已安装的相关插件,点击安装:
(2)常用插件 01.插件: 02.插件: 03.插件: 04.插件: 05.插件: 06.插件: UI
1.5 .x 与 .x 的区别
建议初学者跳过这一节,因为大多数项目已经用 3.x 编写了。之前我们需要学习其中的区别,因为很多项目都是用 2.x 编写的。我们必须了解其中的区别,才能将旧版本的代码升级到新版本。但现在市场上基本没有这样的需求,所以建议初学者跳过这一节!
3.x 与 2.x 不兼容,但两个系列在语法上差别不大。3.x 删除了一些容易混淆的表达方式,但总体语法与 2.x 类似。3.x 的用户可以轻松阅读用 2.x 编写的代码。
以下是3.x和2.x之间的一些区别,以帮助您了解它们之间的区别。
(1)编码方式。3.x默认使用utf-8编码,对中英文都有很好的支持。2.x默认使用utf-8编码,对中文支持不够好。为了防止程序含有中文导致错误,一般在2.x文件第一行设置编码格式为utf-8。设置方法如下:
# -*- coding:utf-8 -*-
2.x编写的程序除了在程序第一行添加上述代码外,还需要使用()方法和()方法对接收和输出的字符格式进行转换。 (2)语句。3.x中()函数替代了2.x中的语句。两者功能相同,但格式不同。示例:--------------------------------------------------------.x版本----------------------------------
>>>print 3,4
输出:
3 4
--------------------------------------------------------.x 版本----------------------
>>>print(3,4)
输出:
3 4
(3)除法运算 在3.x版本中,两个整数相除(使用运算符“/”)返回的是浮点数而不是整数。添加了新的运算符“//”来实现整数除法。 --------------------------------------------------------.x版本----------------------------------- 整数除法:
>>>1 / 2
输出:
0
浮点除法:
>>>1.0 / 2.0
输出:
0.5
--------------------------------------------------------.x 版本----------------------
正常添加:
>>>1 / 2
输出:
0.5
可分性:
>>>1 // 2
输出:
0
(4)八进制表示法 3.x 中只使用以“0o”开头的数字来表示八进制,2.x 中以“0”开头的表示方法已被删除。
(5)比较行为3.x仅使用“!=”表示不等式,删除了2.x中的“ ”表示方式。
3.x 中的 = 运算符在用于比较两个没有有意义顺序的元素时不再返回布尔值,而是抛出异常。--------------------------------------------------------------------.x 版本----------------------------------
>>>1<'a'
输出:
False
--------------------------------------------------------.x 版本----------------------
>>>1<'a'
输出:
Traceback (most recent call last): File "D:\anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3437, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "", line 1, in 1<'a' TypeError: '<' not supported between instances of 'int' and 'str'
(6)整数类型3.x不再区分整数和长整数,只保留int类型,int类型的长度只和计算机的内存有关,如果内存足够大,整数就可以足够长。同时,sys.也被删除。
(7)关键字 3.x 中添加了关键字 as、with、True 和 None。
(8) ()函数在3.x中,使用 ()函数来替换 ()函数。
(9)在()函数3.x中使用list()函数,将()函数的返回值进行转换,实现在2.x中在()中返回列表的功能。--------------------------------------------------------.x版本----------------------------------
>>>range(5)
输出:
[0,1,2,3,4]
--------------------------------------------------------------------.x 版本----------------------------------无列表:
>>>range(5)
输出:
range(0,5)
`使用列表:````````````
>>>list(range(5))
输出:
[0,1,2,3,4]
(10)在 3.x中,使用as关键字来标识异常信息。--------------------------------------------------------.x版本----------------------------------
>>>try: raise TypeError,"类型错误" except TypeError,err: print err.message
输出:
类型错误
--------------------------------------------------------.x 版本----------------------
>>>try: raise TypeError("类型错误") except TypeError as err: print(err)
输出:
类型错误
1.6 总结
首先简单介绍一下语言、编程语言、解释器、语言特点、应用领域。
然后介绍了如何安装、配置开发环境以及如何在系统中运行程序。
然后简单介绍了程序的开发流程和编写方法,接着介绍了集成开发环境的安装和使用。
最后介绍了2.x和3.x版本的区别。
通过本文的学习,希望大家能够有一个大致的了解,树立学习的兴趣和信心,能够熟练的搭建开发环境和运行程序,熟悉程序设计的流程和编写程序的基本方法。
1.7 扩展:通用集成开发环境(IDE)
[1]IDLE:默认解释工具
[2] VS Code:(受到各大高校和科研院所青睐)
[3]:
[4]:
1.8 扩展:初学者常见问题
Q1:下面哪一种编程语言适合作为入门级编程语言?
A1:它是最好的入门编程语言,也是最先进的编程语言。如果你只想学一门编程语言,请学它;如果你想学最先进的编程语言,请学它。
Q2: 2.x和3.x,我应该学哪个版本?
A2: 3.x,本教程所有内容仅教授此版本
与传统的软件升级不同,3.x 版本并不兼容 2.x 版本。3.x 版本于 2008 年发布。至今,所有主流函数库在 3.x 版本下都能稳定、高效地运行。专业程序员已经使用 3.x 版本,这是毋庸置疑的。
Q3:该语言是跨平台的吗?
A3:用该语言编写的程序可以在、UNIX、Mac等操作系统上不加修改地使用。(更准确的说:如果程序调用的库是平台无关的,那么它就可以跨平台。)
Q4:该语言是面向对象的吗?
A4:面向对象是一种编程方法,语言并不局限于此。你可以学习面向对象的编程方法并用语言来实现,也可以只使用基本的面向过程方法。甚至可以不带任何风格地写几行代码,语言都支持。太任性了!
Q5:全国计算机等级考试二级科目有什么用?需要考吗?
A5:全国计算机等级考试二级(简称:二级考试)是由教育部考试中心组织举办的(高考、四六级、研究生考试也是由这个官方部门组织举办!),主要是针对在校大学生和社会学习者的一个能力测试。语言类的考试在2018年9月首考,每年3月和9月有两次大考。二级考试对于计算机专业的学生意义不大,毕竟专业课的学生需要很专业;但是对于非计算机专业的学生来说,证明自己计算机特别是编程水平,非常权威和有用。据说上海落户积分政策对计算机水平和等级考试都有要求。