第2章 Python编程环境搭建



文章目录

  • 第2章 Python编程环境搭建
  • 前言
  • 一、Windows安装Python
  • 二、如何运行Python程序?
  • Python 交互式编程
  • 编写 Python 源文件
  • 三、第一个Python程序——在屏幕上输出文本
  • 在屏幕上输出字符串
  • 在屏幕上输出数字
  • 四、PyCharm下载和安装教程(包含配置Python解释器)
  • PyCharm下载和安装
  • PyCharm配置Python解释器
  • 五、Python注释(多行注释和单行注释)
  • Python 单行注释
  • Python 多行注释
  • 六、Python缩进规则(包含快捷键)
  • 七、Python编码规范(PEP 8)
  • 八、Python标识符命名规范
  • 九、Python关键字(保留字)
  • 十、Python内置函数



前言

本章重点介绍 Python 编程环境的搭建,包括各个平台下 Python 的下载和安装,常见 IDE 的使用,如何运行 Python 程序等。我还会亲自带着大家编写并运行第一个 Python 程序,让大家认识一下最简单的 Python 代码。

本章的后半部分还介绍了一下 Python 基础语法,包括注释、缩进、编码规范、标识符及命名规范、关键字等。


一、Windows安装Python

在 Windows 上安装 Python 和安装普通软件一样简单,下载安装包以后猛击“下一步”即可。

Python 安装包下载地址:官网

python 双击打开桌面的应用程序 windows python 双击运行_python


这里我们直接下载python3的最新版就行

python 双击打开桌面的应用程序 windows python 双击运行_源文件_02


这里如果是32位电脑就选择32位,不过一般都是64位

python 双击打开桌面的应用程序 windows python 双击运行_源文件_03

上面是默认安装,下面是自定义安装,那个Add Python3.9 to PATH尽量勾选,虽然后面还要涉及到PATH的设置

完成安装后,win+r打开cmd,输入python,能够正确进入则算安装成功,我这里是以前的3.8

python 双击打开桌面的应用程序 windows python 双击运行_源文件_04


按下Ctrl+Z快捷键,或者输入 exit() 命令即可退出交互式编程环境,回到 Windows 命令行程序。

关于 IDLE

IDLE 是 Python 自带的简易开发环境,安装完成以后,在 Windows 开始菜单中找到Python 3.9,在这里可以看到 IDLE 工具

python 双击打开桌面的应用程序 windows python 双击运行_Python_05

二、如何运行Python程序?

Python 是一种解释型的脚本编程语言,这样的编程语言一般支持两种代码运行方式:

  1. 交互式编程
    在命令行窗口中直接输入代码,按下回车键就可以运行代码,并立即看到输出结果;执行完一行代码,你还可以继续输入下一行代码,再次回车并查看结果……整个过程就好像我们在和计算机对话,所以称为交互式编程。
  2. 编写源文件
    创建一个源文件,将所有代码放在源文件中,让解释器逐行读取并执行源文件中的代码,直到文件末尾,也就是批量执行代码。这是最常见的编程方式,也是我们要重点学习的。

本节我们将详细介绍以上两种编程方式。

Python 交互式编程

一般有两种方法进入 Python 交互式编程环境,第一种方法是在命令行工具或者终端(Terminal)窗口中输入python命令,看到>>>提示符就可以开始输入代码了,如下所示:

python 双击打开桌面的应用程序 windows python 双击运行_Python_06


第二种进入 Python 交互式编程环境的方法是,打开 Python 自带的 IDLE 工具,默认就会进入交互式编程环境,如下所示:

python 双击打开桌面的应用程序 windows python 双击运行_源文件_07


实际上,你可以在交互式编程环境中输入任何复杂的表达式(包括数学计算、逻辑运算、循环语句、函数调用等),Python 总能帮你得到正确的结果。这也是很多非专业程序员喜欢Python 的一个原因:即使你不是程序员,但只要输入想执行的运算,Python 就能告诉你正确的答案。

从这个角度来看,Python 的交互式编程环境相当于一个功能无比强大的“计算器”,比 Windows 、Mac OS X 系统自带的计算器的功能强大多了。

编写 Python 源文件

交互式编程只是用来玩玩而已,真正的项目开发还是需要编写源文件的。

Python 源文件是一种纯文本文件,内部没有任何特殊格式,你可以使用任何文本编辑器打开它,比如:

  • Windows 下的记事本程序;
  • Linux 下的 Vim、gedit 等;
  • Mac OS 下的 TextEdit 工具;
  • 跨平台的 Notepad++、EditPlus、UltraEdit 等;
  • 更加专业和现代化的 VS Code 和 Sublime Text(也支持多种平台)。

注意,不能使用写字板、Word、WPS 等排版工具编写 Python 源文件,因为排版工具一般都有内置的特殊格式或者特殊字符,这些会让代码变得“乱七八糟”,不能被 Python 解释器识别。

源文件的后缀

Python 源文件的后缀为.py。任何编程语言的源文件都有特定的后缀,例如:

  • C语言源文件的后缀是.c;
  • C++源文件的后缀是.cpp;
  • JavaScript 源文件的后缀是.js;
  • C# 源文件的后缀是.cs;
  • Java 源文件的后缀是.java。

后缀只是用来区分不同的编程语言,并不会导致源文件的内部格式发生变化,源文件还是纯文本的。编译器(解释器)、编辑器和用户(程序员)都依赖后缀区分当前源文件属于哪种编程语言。

源文件的编码格式

Python 源文件是一种纯文本文件,会涉及编码格式的问题,也就是使用哪种编码来存储源代码。

Python 3.x 已经将 UTF-8 作为默认的源文件编码格式,所以推荐大家使用专业的文本编辑器,比如 Sublime Text、VS Code、Vim、Notepad++ 等,它们都默认支持 UTF-8 编码。

UTF-8 是跨平台的,国际化的,编程语言使用 UTF-8 是大势所趋。

运行源文件

使用编辑器(我习惯直接新建文本文档,改后缀名为.py)创建一个源文件,命名为 1.py,并输入下面的代码:

python 双击打开桌面的应用程序 windows python 双击运行_python_08


我这里用的是pycharm,接下来会讲如何安装这个开发环境

运行 Python 源文件有两种方法:

1) 使用 Python 自带的 IDLE 工具运行源文件。

通过file -> open菜单打开 1.py 源文件,然后在源文件中的菜单栏中选择Run->Run Module,或者按下 F5 快捷键,就可以执行源文件中的代码了。

python 双击打开桌面的应用程序 windows python 双击运行_标识符_09

python 双击打开桌面的应用程序 windows python 双击运行_python 双击打开桌面的应用程序_10


2) 在命令行工具或者终端(Terminal)中运行源文件。

进入命令行工具或者终端(Terminal),切换到 demo.txt 所在的目录,然后输入下面的命令就可以运行源文件:

python 1.py

运行完该命令,可以立即看到输出结果,如下图所示。

python 双击打开桌面的应用程序 windows python 双击运行_python_11


这里简单介绍一下 python 命令,它的语法非常简单,其基本格式如下:

python <源文件路径>

这里的源文件路径,可以是自盘符(C盘、D盘)开始的绝对路径,比如D:\PythonDemo\demo.py;也可以在执行 python 命令之前,先进入源文件所在的目录,然后只写文件名,也就是使用相对路径。

需要注意的是,Windows 系统不区分大小写,在 Windows 平台上输入源文件路径时可以不用注意大小写。但是类 Unix 系统(Mac OS X、Linux 等)都是区分大小写,在这些平台上输入 Python 源文件路径时一定要注意大小写问题。

三、第一个Python程序——在屏幕上输出文本

本节我将给大家介绍最简单、最常用的 Python 程序——在屏幕上输出一段文本,包括字符串和数字。

Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行。

在屏幕上输出字符串

字符串就是多个字符的集合,由双引号" "或者单引号’ '包围,例如:

“Hello World”

“Number is 198”

‘你好’

字符串中可以包含英文、数字、中文以及各种符号。

print 输出字符串的格式如下:

print(“字符串内容”)

或者

print(‘字符串内容’)

字符串要放在小括号( )中传递给 print,让 print 把字符串显示到屏幕上,这种写法在 Python 中被称为函数(Function)。

需要注意的是,引号和小括号都必须在英文半角状态下输入,而且 print 的所有字符都是小写。Python 是严格区分大小写的,print 和 Print 代表不同的含义。

print 用法举例:

print(“Hello World!”) #输出英文

print(“Number is 198”) #输出数字

print(“你好”) #输出中文

也可以将多段文本放在一个 print 函数中:

print(
    "Hello World!"
    "Number is 198"
    "你好"
);

print("Hello World!" "Python is great!" "Number is 198.")

print(
    "Hello World!\n"
    "Number is 198\n"
    "你好"
);

注意,同一个 print 函数的字符串之间不会自动换行,加上\n才能看到换行效果。

python 双击打开桌面的应用程序 windows python 双击运行_python_12

在屏幕上输出数字

print 除了能输出字符串,还能输出数字,将数字或者数学表达式直接放在 print 中就可以输出,如下所示:

print( 100 )
print( 65 )
print( 100 + 12 )
print( 8 * (4 + 6) )

注意,输出数字时不能用引号包围,否则就变成了字符串。下面的写法就是一个反面教材,数学表达式会原样输出:

print("100 + 12")

运行结果是100 + 12,而不是 112

另外,和输出字符串不同,不能将多个数字放在一个 print 函数中。例如,下面的写法就是错误的:

print( 100 12 95 );
print(
    80
    26
    205
);

四、PyCharm下载和安装教程(包含配置Python解释器)

PyCharm下载和安装

进入 PyCharm官方下载页面(如图所示),可以看到 PyCharm 有 2 个版本,分别是 Professional(专业版)和 Community(社区版)。其中,专业版是收费的,可以免费试用 30 天;而社区版是完全免费的。

python 双击打开桌面的应用程序 windows python 双击运行_Python_13


根据图所示点击“下载”按钮,等待下载完成。下载完成后,会得到一个 PyCharm 安装包。双击打开下载的安装包,正式开始安装(如图所示)。

python 双击打开桌面的应用程序 windows python 双击运行_源文件_14


直接选择“Next”,可以看到如图所示的对话框,这里是设置 PyCharm 的安装路径,建议不要安装在系统盘(c盘)

python 双击打开桌面的应用程序 windows python 双击运行_标识符_15


继续点击“Next”,这里需要进行一些设置,可根据图所示,自行选择需要的功能,若无特殊需求,按图中勾选即可;

python 双击打开桌面的应用程序 windows python 双击运行_标识符_16


继续点击“Next”,达到图所示的对话框,这里选择默认即可,点击 “Install”,并等待安装进度条达到 100%,PyCharm 就安装完成了。

python 双击打开桌面的应用程序 windows python 双击运行_python_17


需要注意的是,首次启动 PyCharm,会自动进行配置 PyCharm 的过程(选择 PyCharm 界面显式风格等等),读者可根据自己的喜好进行配置,由于配置过程非常简单,这里不再给出具体图示。读者也可以直接退出,即表示全部选择默认配置。

PyCharm配置Python解释器

首先安装 PyCharm 完成之后,打开它会显示如下所示的界面:

python 双击打开桌面的应用程序 windows python 双击运行_python_18


在此界面中,可以手动给 PyCharm 设置 Python 解释器。点击 Configure 选项,选择“Settings”,进入所示的界面。

python 双击打开桌面的应用程序 windows python 双击运行_Python_19


python 双击打开桌面的应用程序 windows python 双击运行_python 双击打开桌面的应用程序_20


可以看到,“No interpreter” 表示未设置 Python 解释器,这种情况下,可以按上图所示,点击设置按钮,选择"add",此时会弹出如下所示的窗口。

python 双击打开桌面的应用程序 windows python 双击运行_Python_21


按照上图所示,选择“System Interpreter”(使用当前系统中的 Python 解释器),右侧找到你安装的 Python 目录,并找到 python.exe,然后选择“OK”。此时显式界面会自动跳转,并显示出可用的解释器,再次点击“OK”。

python 双击打开桌面的应用程序 windows python 双击运行_Python_22

五、Python注释(多行注释和单行注释)

Python 单行注释

Python 使用井号#作为单行注释的符号,语法格式为:

# 注释内容

从井号#开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到#时,会忽略它后面的整行内容。

说明多行代码的功能时一般将注释放在代码的上一行,例如:

#使用print输出字符串
print("Hello World!")

#使用print输出数字
print(100)
print( 3 + 100 * 2)
print( (3 + 100) * 2 )

说明单行代码的功能时一般将注释放在代码的右侧,例如:

print("https://www.baidu.com")  #输出百度地址
print( 36.7 * 14.5 )  #输出乘积
print( 100 % 7 )  #输出余数

Python 多行注释

多行注释指的是一次性注释程序中多行的内容(包含一行)。

Python 使用三个连续的单引号’’'或者三个连续的双引号"""注释多行内容,具体格式如下:

'''
使用 3 个单引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
'''

或者

"""
使用 3 个双引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
"""

多行注释通常用来为 Python 文件、模块、类或者函数等添加版权或者功能描述信息。

注意事项

  1. Python 多行注释不支持嵌套,所以下面的写法是错误的:
'''
外层注释
    '''
    内层注释
    '''
'''
  1. 不管是多行注释还是单行注释,当注释符作为字符串的一部分出现时,就不能再将它们视为注释标记,而应该看做正常代码的一部分,例如:
print('''Hello,World!''')
print("""http://www.baidu.com""")
print("#是单行注释的开始")

运行结果:

Hello,World!
http://c.biancheng.net/cplus/
#是单行注释的开始

对于前两行代码,Python 没有将这里的三个引号看作是多行注释,而是将它们看作字符串的开始和结束标志。

对于第 3 行代码,Python 也没有将井号看作单行注释,而是将它看作字符串的一部分。

六、Python缩进规则(包含快捷键)

和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。

在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

例如,下面这段 Python 代码中:

height=float(input("输入身高:")) #输入身高
weight=float(input("输入体重:")) #输入体重
bmi=weight/(height*height)       #计算BMI指数

#判断身材是否合理
if bmi<18.5:
    #下面 2 行同属于 if 分支语句中包含的代码,因此属于同一作用域
    print("BMI指数为:"+str(bmi)) #输出BMI指数
    print("体重过轻")
if bmi>=18.5 and bmi<24.9:
    print("BMI指数为:"+str(bmi)) #输出BMI指数
    print("正常范围,注意保持")
if bmi>=24.9 and bmi<29.9:
    print("BMI指数为:"+str(bmi)) #输出BMI指数
    print("体重过重")
if bmi>=29.9:
    print(BMI指数为:"+str(bmi)) #输出BMI指数
    print("肥胖")

Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。

例如,对上面代码做错误改动,将位于同一作用域中的 2 行代码,它们的缩进量分别设置为 4 个空格和 3 个空格,如下所示:

if bmi<18.5:
    print("BMI指数为:"+str(bmi)) #输出BMI指数
   print("体重过轻")

可以看到,第二行代码和第三航代码本来属于同一作用域,但我们手动修改了各自的缩进量,这会导致 SyntaxError 异常错误

对于 Python 缩进规则,初学者可以这样理解,Python 要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。

七、Python编码规范(PEP 8)

Python 采用 PEP 8 作为编码规范,其中 PEP 是 Python Enhancement Proposal(Python 增强建议书)的缩写,8 代表的是 Python 代码的样式指南。下面仅给大家列出 PEP 8 中初学者应严格遵守的一些编码规则:

1.每个 import 语句只导入一个模块,尽量避免一次导入多个模块,例如:

#推荐
import os
import sys
#不推荐
import os,sys

关于 import 的含义和用法会在后续介绍,这里不必深究。

2.不要在行尾添加分号,也不要用分号将两条命令放在同一行,例如:

#不推荐
height=float(input("输入身高:")) ; weight=fioat(input("输入体重:")) ;

3.建议每行不超过 80 个字符,如果超过,建议使用小括号将多行内容隐式的连接起来,而不推荐使用反斜杠 \ 进行连接。例如,如果一个字符串文本无法实现一行完全显示,则可以使用小括号将其分开显示,代码如下:

#推荐
s=("Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计"
",作为一门叫做ABC语言的替代品")
#不推荐
s="Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计\
,作为一门叫做ABC语言的替代品。"

注意,此编程规范适用于绝对大多数情况,但以下 2 种情况除外:

  • 导入模块的语句过长。
  • 注释里的 URL。

4.使用必要的空行可以增加代码的可读性,通常在顶级定义(如函数或类的定义)之间空两行,而方法定义之间空一行,另外在用于分隔某些功能的位置也可以空一行。

5.通常情况下,在运算符两侧、函数参数之间以及逗号两侧,都建议使用空格进行分隔。

八、Python标识符命名规范

简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。

Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:

1.标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。

2.标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。

3.Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。

例如,下面所列举的标识符是合法的:

UserID
name
mode12
user_age

以下命名的标识符不合法:

4word    #不能以数字开头
try          #try是保留字,不能作为标识符
$money #不能包含特殊字符

4.在 Python 中,标识符中的字母是严格区分大小写的,也就是说,两个同样的单词,如果大小格式不一样,多代表的意义也是完全不同的。比如说,下面这 3 个变量之间,就是完全独立、毫无关系的,它们彼此之间是相互独立的个体。

number = 0
Number = 0
NUMBER = 0

5.Python 语言中,以下划线开头的标识符有特殊含义,例如:

  • 以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from…import* 的方式导入;
  • 以双下划线开头的标识符(如__add)表示类的私有成员;
  • 以双下划线作为开头和结尾的标识符(如 init),是专用标识符。

因此,除非特定场景需要,应避免使用以下划线开头的标识符。

另外需要注意的是,Python 允许使用汉字作为标识符,例如:
C你好 = “C你好”

但我们应尽量避免使用汉字作为标识符,这会避免遇到很多奇葩的错误。

标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循,例如:

  • 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register等。
  • 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。
  • 当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。
  • 模块内部的类名,可以采用 “下划线+首字母大写” 的形式,如 _Book;
  • 函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割;
  • 常量命名应全部使用大写字母,单词之间可以用下划线分割;

九、Python关键字(保留字)

保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。

Python 包含的保留字可以执行如下命令进行查看:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

所有的保留字,如下表所示:

python 双击打开桌面的应用程序 windows python 双击运行_Python_23


需要注意的是,由于 Python 是严格区分大小写的,保留字也不例外。所以,我们可以说 if 是保留字,但 IF 就不是保留字。

十、Python内置函数

Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块。

将使用频繁的代码段封装起来,并给它起一个名字,以后使用的时候只要知道名字就可以,这就是函数。函数就是一段封装好的、可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。

内置函数和标准库函数是不一样的。

Python 解释器也是一个程序,它给用户提供了一些常用功能,并给它们起了独一无二的名字,这些常用功能就是内置函数。Python 解释器启动以后,内置函数也生效了,可以直接拿来使用。

Python 标准库相当于解释器的外部扩展,它并不会随着解释器的启动而启动,要想使用这些外部扩展,必须提前导入。Python 标准库非常庞大,包含了很多模块,要想使用某个函数,必须提前导入对应的模块,否则函数是无效的。

内置函数是解释器的一部分,它随着解释器的启动而生效;标准库函数是解释器的外部扩展,导入模块以后才能生效。一般来说,内置函数的执行效率要高于标准库函数。

Python 解释器一旦启动,所有的内置函数都生效了;而导入标准库的某个模块,只是该模块下的函数生效,并不是所有的标准库函数都生效。

内置函数的数量必须被严格控制,否则 Python 解释器会变得庞大和臃肿。一般来说,只有那些使用频繁或者和语言本身绑定比较紧密的函数,才会被提升为内置函数。

例如,在屏幕上输出文本就是使用最频繁的功能之一,所以 print() 是 Python 的内置函数。

在 Python 2.x 中,print 是一个关键字;到了 Python 3.x 中,print 变成了内置函数。

除了 print() 函数,Python 解释器还提供了更多内置函数,下表列出了 Python 3.x 中的所有内置函数。

python 双击打开桌面的应用程序 windows python 双击运行_Python_24


注意,不要使用内置函数的名字作为标识符使用(例如变量名、函数名、类名、模板名、对象名等),虽然这样做 Python 解释器不会报错,但这会导致同名的内置函数被覆盖,从而无法使用。例如:

>>> print = "http://c.biancheng.net/python/"  #将print作为变量名
>>> print("Hello World!")  #print函数被覆盖,失效
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    print("Hello World!")
TypeError: 'str' object is not callable