Python是由荷兰人吉多·范罗苏姆(Guido von Rossum,后面称呼为Guido)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编程语言。Python,就是一项 服务器端解释性、开源、非编译 脚本语言,简单易学,嵌入性强。可单独使用,也可作为框架的组成部分,与 java C++ .net 等混合使用。
时间 | 事件 |
---|---|
1989年圣诞节 | Guido开始写Python语言的编译器 |
1991年2月 | 第一个Python解释器诞生,它是用C语言实现的,可以调用C语言的库函数 |
1994年1月 | Python 1.0正式发布。 |
2000年10月 | Python 2.0发布,Python的整个开发过程更加透明,生态圈开始慢慢形成。 |
2008年12月 | Python 3.0发布,引入了诸多现代编程语言的新特性,但并不完全兼容之前的Python代码 |
2020年1月 | 官方停止了对Python 2的更新和维护,希望用户尽快过渡到Python 3。 |
1.集成性强
我们可以通过与其他编程语言(例如C,C++和Java)的集成,将各种语言功能运用到我们的开发中。
2.简单易学
Python的语法相比其他编程语言而言,是非常简单的。使用Python,不仅有助于程序员专注逻辑构建,从而节省大量的时间,而且能够大大降低应用程序的维护成本。
3.可以更方便地增强和测试代码
Python是一种动态类型化的语言,可以自动分配数据类型。
4.广泛的库支持
Python的库量非常大,例如NumPy,SciPy,Pandas等,而且所有库都是免费提供的。
5.提供了数据科学和机器学习的库
这些库可以确保非常高的计算速度和效率。
目前Python在Web服务器应用开发、云基础设施开发、网络数据采集(爬虫)、数据分析、量化交易、机器学习、深度学习、自动化测试、自动化运维等领域都有用武之地。
想要开始你的Python编程之旅,首先得在计算机上安装Python环境,简单的说就是得安装运行Python程序的工具,通常也称之为Python解释器。我们强烈建议大家安装Python 3的环境,很明显它是目前更好的选择。
可以在Python官方网站找到下载链接并下载Python 3的安装程序。
对于Windows操作系统,可以下载“executable installer”。需要注意的是,如果在Windows 7环境下安装Python 3,需要先安装Service Pack 1补丁包,大家可以在Windows的“运行”中输入winver
命令,从弹出的窗口上可以看到你的系统是否安装了该补丁包。如果没有该补丁包,一定要先通过“Windows Update”或者类似“CCleaner”这样的工具自动安装该补丁包,安装完成后通常需要重启你的Windows系统,然后再开始安装Python环境。
双击运行刚才下载的安装程序,会打开Python环境的安装向导。在执行安装向导的时候,记得勾选“Add Python 3.x to PATH”选项,这个选项会帮助我们将Python的解释器添加到PATH环境变量中(不理解没关系,照做就行),具体的步骤如下图所示。
安装完成后可以打开Windows的“命令行提示符”工具并输入python --version
或python -V
来检查安装是否成功,命令行提示符可以在“运行”中输入cmd
来打开或者在“开始菜单”的附件中找到它。如果看了Python解释器对应的版本号(如:Python 3.7.8),说明你的安装已经成功了,如下图所示。
说明:如果安装过程显示安装失败或执行上面的命令报错,很有可能是因为你的Windows系统缺失了一些动态链接库文件而导致的问题。如果系统显示api-ms-win-crt*.dll文件缺失,可以在微软官网下载Visual C++ Redistributable for Visual Studio 2015文件进行修复,64位的系统需要下载有x64标记的安装文件。
除此之外,你还应该检查一下Python的包管理工具是否已经可用,对应的命令是pip --version
。
macOS自带了Python 2,但是我们需要安装和使用的是Python 3。可以通过Python官方网站提供的下载链接找到适合macOS的“macOS installer”来安装Python 3,安装过程基本不需要做任何勾选,直接点击“下一步”即可。安装完成后,可以在macOS的“终端”工具中输入python3
命令来调用Python 3解释器,因为如果直接输入python
,将会调用Python 2的解释器。
我们打开Windows的“命令提示符”工具,输入命令python
然后回车就可以进入到Python的交互式环境中。所谓交互式环境,就是我们输入一行代码回车,代码马上会被执行,如果代码有产出结果,那么结果会被显示在窗口中。例如:
Python 3.7.6 Type "help", "copyright", "credits" or "license" for more information. >>> 2 * 3 6 >>> 2 + 3 5
提示:使用macOS系统的用户需要打开“终端”工具,输入
python3
进入交互式环境。
如果希望退出交互式环境,可以在交互式环境中输入quit()
,如下所示。
>>> quit()
Python默认的交互式环境用户体验并不怎么好,我们可以用IPython来替换掉它,因为IPython提供了更为强大的编辑和交互功能。我们可以使用Python的包管理工具pip
来安装IPython,如下所示。
pip install ipython
温馨提示:在使用上面的命令安装IPython之前,可以先通过
pip config set global.index-url https://pypi.doubanio.com/simple
命令将pip
的下载源修改为国内的豆瓣网,否则下载安装的过程可能会非常的缓慢。
可以使用下面的命令启动IPython,进入交互式环境。
ipython
Visual Studio Code(通常简称为VS Code)是一个由微软开发能够在Windows、 Linux和macOS等操作系统上运行的代码编辑神器。它支持语法高亮、自动补全、多点编辑、运行调试等一系列便捷功能,而且能够支持多种编程语言。如果大家要选择一款高级文本编辑工具,强烈建议使用VS Code。关于VS Code的下载、安装和使用,推荐大家阅读知乎上名为《VScode安装使用》的文章。下图是VS Code的用户主界面。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ievFXvF5-1626778747377)(res/vscode.png)]
如果用Python开发商业项目,我们推荐大家使用更为专业的工具PyCharm。PyCharm是由捷克一家名为JetBrains的公司开发的用于Python项目开发的集成开发环境(IDE)。所谓集成开发环境,通常是指工具中提供了编写代码、运行代码、调试代码、分析代码、版本控制等一系列功能,因此特别适合商业项目的开发。在JetBrains的官方网站上提供了PyCharm的下载链接,其中社区版(Community)是免费的但功能相对弱小(其实已经足够强大了),专业版(Professional)功能非常强大,但需要按年或月付费使用,新用户可以试用30天时间。
运行PyCharm,可以看到如下图所示的欢迎界面,可以选择“New”来创建一个新的项目。
PyCharm常用的快捷键如下表所示,我们也可以在“文件”菜单的“设置”中定制PyCharm的快捷键(macOS系统是在“偏好设置”中对快捷键进行设置)。
表1. PyCharm常用快捷键。
快捷键 | 作用 |
---|---|
ctrl + j | 显示可用的代码模板 |
ctrl + b | 查看函数、类、方法的定义 |
ctrl + alt + l | 格式化代码 |
alt + enter | 万能代码修复快捷键 |
ctrl + / | 注释/反注释代码 |
shift + shift | 万能搜索快捷键 |
ctrl + d / ctrl + y | 复制/删除一行代码 |
ctrl + shift + - / ctrl + shift + + | 折叠/展开所有代码 |
F2 | 快速定位到错误代码 |
ctrl + alt + F7 | 查看哪些地方用到了指定的函数、类、方法 |
说明:使用macOS系统,可以将上面的
ctrl
键换成command
键,在macOS系统上,可以使用ctrl + space
组合键来获得万能提示,在Windows系统上不能使用该快捷键,因为它跟Windows默认的切换输入法的快捷键是冲突的,需要重新设置。
按照行业惯例,我们学习任何一门编程语言写的第一个程序都是输出hello, world
,因为这段代码是伟大的丹尼斯·里奇(C语言之父,和肯·汤普森一起开发了Unix操作系统)和布莱恩·柯尼汉(awk语言的发明者)在他们的不朽著作The C Programming Language中写的第一段代码。
print('hello, world')
如果不使用PyCharm这样的集成开发环境,我们可以将上面的代码命名为hello.py
,对于Windows操作系统,可以在你保存代码的目录下先按住键盘上的shift
键再点击鼠标右键,这时候鼠标右键菜单中会出现“命令提示符”选项,点击该选项就可以打开“命令提示符”工具,我们输入下面的命令。
python hello.py
提醒:我们也可以在任意位置打开“命令提示符”,然后将需要执行的Python代码通过拖拽的方式拖入到“命令提示符”中,这样相当于指定了文件的绝对路径来运行该文件中的Python代码。再次提醒,macOS系统要通过
python3
命令来运行该程序。
你可以尝试将上面程序单引号中的hello, world
换成其他内容;你也可以尝试着多写几个这样的语句,看看会运行出怎样的结果。需要提醒大家,上面代码中的print('hello, world')
就是一条完整的语句,我们用Python写程序,最好每一行代码中只有一条语句。虽然使用;
分隔符可以将多个语句写在一行代码中,但是最好不要这样做,因为代码会变得非常难看。
注释是编程语言的一个重要组成部分,用于在源代码中解释代码的作用从而增强程序的可读性。当然,我们也可以将源代码中暂时不需要运行的代码段通过注释来去掉,这样当你需要重新使用这些代码的时候,去掉注释符号就可以了。简单的说,注释会让代码更容易看懂但不会影响程序的执行结果。
Python中有两种形式的注释:
#
和空格开头,可以注释掉从#
开始后面一整行的内容。""" 第一个Python程序 - hello, world """ # print('hello, world') print("你好,世界!")
作为一个程序员,可能经常会被外行人问到两个问题,其一是“什么是(计算机)程序”,其二是“写(计算机)程序能做什么”,这里我们先对两个问题做一个回答。程序是指令的集合,写程序就是用指令控制计算机做我们想让它做的事情。那么,为什么要用Python语言来写程序呢?因为Python语言简单优雅,相比C、C++、Java这样的编程语言,Python对初学者更加友好,当然这并不是说Python不像其他语言那样强大,Python几乎是无所不能的,在第一节课的时候,我们就说到了Python可以用于服务器程序开发、云平台开发、数据分析、机器学习等各个领域。当然,Python语言还可以用来粘合其他语言开发的系统,所以也经常被戏称为“胶水语言”。
要想在计算机内存中保存数据,首先就得说一说变量这个概念。在编程语言中,变量是数据的载体,简单的说就是一块用来保存数据的内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多种类型,最常见的就是数值,除了数值之外还有文本、图形、音频、视频等各种各样的数据。虽然数据在计算机中都是以二进制形态存在的,但是我们可以用不同类型的变量来表示数据类型的差异。Python中的数据类型很多,而且也允许我们自定义新的数据类型(这一点在后面会讲到),这里我们需要先了解几种常用的数据类型。
int
):Python中可以处理任意大小的整数,而且支持二进制(如0b100
,换算成十进制是4)、八进制(如0o100
,换算成十进制是64)、十进制(100
)和十六进制(0x100
,换算成十进制是256)的表示法。float
):浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456
)之外还支持科学计数法(如1.23456e2
)。str
):字符串是以单引号或双引号括起来的任意文本,比如'hello'
和"hello"
。bool
):布尔值只有True
、False
两种值,要么是True
,要么是False
。对于每个变量我们需要给它取一个名字,就如同我们每个人都有自己的名字一样。在Python中,变量命名需要遵循以下这些规则,这些规则又分为必须遵守的硬性规则和建议遵守的非硬性规则。
!
、@
、#
这些特殊字符是不能出现在变量名中的,而且我们强烈建议大家尽可能使用英文字母。A
和小写的a
是两个不同的变量。当然,作为一个专业的程序员,给变量(事实上应该是所有的标识符)命名时做到见名知意也非常重要。
下面通过例子来说明变量的类型和变量的使用。
""" 使用变量保存数据并进行加减乘除运算 """ a = 45 # 变量a保存了45 b = 12 # 变量b保存了12 print(a + b) # 57 print(a - b) # 33 print(a * b) # 540 print(a / b) # 3.75
在Python中可以使用type
函数对变量的类型进行检查。程序设计中函数的概念跟数学上函数的概念基本一致,数学上的函数相信大家并不陌生,它包括了函数名、自变量和因变量。如果暂时不理解函数这个概念也不要紧,我们会在后续的内容中专门讲解函数的定义和使用。
""" 使用type()检查变量的类型 """ a = 100 b = 12.345 c = 'hello, world' d = True print(type(a)) # <class 'int'> print(type(b)) # <class 'float'> print(type(c)) # <class 'str'> print(type(d)) # <class 'bool'>
不同类型的变量可以相互转换,这一点可以通过Python的内置函数来实现。
int()
:将一个数值或字符串转换成整数,可以指定进制。float()
:将一个字符串转换成浮点数。str()
:将指定的对象转换成字符串形式,可以指定编码。chr()
:将整数转换成该编码对应的字符串(一个字符)。ord()
:将字符串(一个字符)转换成对应的编码(整数)。下面的例子为大家演示了Python中类型转换的操作。
""" Python中的类型转换操作 """ a = 100 b = 12.345 c = 'hello, world' d = True # 整数转成浮点数 print(float(a)) # 100.0 # 浮点型转成字符串 (输出字符串时不会看到引号哟) print(str(b)) # 12.345 # 字符串转成布尔型 (有内容的字符串都会变成True) print(bool(c)) # True # 布尔型转成整数 (True会转成1,False会转成0) print(int(d)) # 1 # 将整数变成对应的字符 (97刚好对应字符表中的字母a) print(chr(97)) # a # 将字符转成整数 (Python中字符和字符串表示法相同) print(ord('a')) # 97
Python语言支持很多种运算符,我们先用一个表格为大家列出这些运算符。
说明: 上面这个表格实际上是按照运算符的优先级从上到下列出了各种运算符。所谓优先级就是在一个运算的表达式中,如果出现了多个运算符,应该先执行哪个运算再执行哪个运算的顺序。在实际开发中,如果搞不清楚运算符的优先级,可以使用圆括号来确保运算的执行顺序。
""" 判断是否是闰年 - Author: yang Date: 2021/7/20 """ """" a1 = int(input('请输入年份:')) if a1 % 4 == 0 and a1 % 100 != 0 or a1 % 400 == 0: print("a1是闰年") else: print("a1不是闰年") """ year = int(input('请输入:')) float = year % 4 == 0 float1 = year % 100 != 0 float2 = year % 400 == 0 print(float and float1 or float2)
""" 三角形判断 - Author: yang Date: 2021/7/20 """ a = float(input('请输入:')) b = float(input('请输入:')) c = float(input('请输入:')) if a+b>c and b+c>a and a+c>b: print("能构成三角形") else: print("不能构成三角形")
""" 求圆的周长和面积以及球的体积 - Author: yang Date: 2021/7/20 """ r = float(input("请输入半径r:")) perimeter = 3.14 * 2 * r area = 3.14 * r * r volume = 4 / 3 * 3.14 * r * r * r print("圆的周长:", perimeter) print("圆的面积:", area) print("球的体积:", volume)
""" 单位转换 - Author: yang Date: 2021/7/20 """ m = float(input("请输入转换的值:")) ft = m * 3.2808399 inch = ft * 12 cm = inch * 2.54 print('%.1f米 = %.1f英尺 = %.1f英寸 = %.1f厘米' % (m, ft,inch,cm))
通过今天的学习是我们明白Python语言可以做很多的事情,也值得我们去学习。在Python程序中,我们可以使用变量来保存数据,变量有不同的类型,变量可以做运算,也可以通过内置函数来转换变量类型。还有是运算符和表达式对于任何一门编程语言都是非常重要的。今天的学习结束了,期待我们学习python能越来越好。也期待读者能找到你们要的知识。