Python 的基本语法规范
在这个标准工业大行其道的今天,任何事物都有属于自己的标准或者规范。作为当下最流行的编程语言之一的 Python 当然也不例外,这节课我们就来学习下 Python 的基本语法规范:
1. 简介
本文介绍 Python 的最基本语法和功能,即:安装完 Python 后、开始学习 Python,首先需要了解的知识点。
2. 变量
2.1 什么是变量
变量是 Python 程序用来保存计算结果的存储单元,为了方便访问这块存储单元,Python 给这块存储单元命名,该名称即为变量名,在 Python 中通过变量名来访问保存计算结果的存储单元。
在下图中,在内存中有一块存储区域保存了计算结果 123,在 Python 程序中使用变量 X 表示这一块存储区域,如下所示:
变量的值是可以变化的,在下图中,将变量 X 修改为 456,如下所示:
2.2 在 Python 中定义和修改变量
本小节通过实例讲解如何在 Python 中定义和修改变量,步骤如下:
- 在命令行窗口中输入 python,进入 Python 的交互模式。注意,在 Python 的交互模式下,>>> 是提示符。本小节面向初学者,因此会提及进入 Python 的交互模式,之后的章节将不再赘述。
- 定义变量 X,并设定变量 X 的初值为 123
>>> X = 123
- 直接输入变量名 X,读取变量 X 的值,在交互模式下,会输出变量 X 的当前值。
>>> X
123
- 修改变量 X 为 456。
>>> X = 456
- 直接输入变量名 X,读取变量 X 的值,发现变量 X 已经修改为 456。
>>> X
456
2.3 变量的命名规则
Python 的变量名称具有如下规则:
2.3.1 变量名由字母、数字、下划线组成
合法的变量名称如下:
- abc
- ABC
- abc123
- abc_xyz
- abc__xyz,该命名包含了2根下划线
- __init__,该命名包含了2根下划线
不合法的变量名称如下:
- a$bc,该命名包含了字符$
- ab/c,该命名包含了字符/
2.3.2 数字不能作为变量名开头
合法的变量名称如下:
- abc123
不合法的变量名称如下:
- 123abc
2.3.4 不能以 Python 中的关键字命名
在 Python 中,具有特殊功能的标识符称为关键字。关键字是 Python 语言自己已经使用的了,不允许开发者自己定义和关键字相同名字的变量。下图列出了 Python 中所有的关键字。
在 Python 的交互模式中,输入’False = 123’,定义变量 False,初值为 123,输出结果如下:
>>> False = 123
File "<stdin>", line 1
SyntaxError: can't assign to keyword
False 是 Python 的关键字,因此提示语法错误:“SyntaxError: can’t assign to keyword”。
3. 注释与空行
3.1 什么是注释
在编写 Python 程序时,写程序的人为程序段给出解释或提示,对代码的解释被称为注释。通过在程序代码中添加注释,可以提高程序代码的可读性。
Python 程序由多个程序段构成,可以使用空行将程序段分开,从而提高程序代码的可读性。
编写程序 comment.py,文件内容如下:
- 在第1行和第4行中,以 # 开头的文本为 Python 注释,说明了下一行代码的功能。
- 在第3行,没有任何代码,是一个空行。
- 执行该程序时,Python 会忽视注释和空行,不会执行注释和空行。
3.2 多行注释
以 # 开头的注释可以注释一行文本,Python 另外提供了注释多行文本的功能。多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,例如:
- 使用3个单引号注释多行文本
'''
# 首先定义变量 x
# 让后将变量 x 修改为 456
x = 123
x = 456
'''
- 使用3个双引号注释多行文本
"""
# 首先定义变量 x
# 让后将变量 x 修改为 456
x = 123
x = 456
"""
4. 缩进
4.1 什么是缩进
在 Python 中,行首的空白区域被称为缩进,例如:
if 2 > 1:
print('2 > 1 is true')
在第 2 行的首部,有 4 个空格, 这个 4 个空格被称为缩进。
在 Python 中,可以使用 TAB 或者空格作为缩进,大部分代码规范建议使用 4 个空格作为缩进。在 Python 自带的集成开发环境 IDLE 中,用户输入 TAB 时,TAB 会被自动转换为 4 个空格。
4.2 为什么需要缩进
使用缩进后,可以直观的看到代码的逻辑层次,从而提高代码的可读性。
如果不使用缩进,完成一个程序如下:
if 2 > 1:
print('2 > 1 is true')
else:
print('2 > 1 is false')
print('Program is end')
如果使用缩进,完成相同功能的程序如下:
if 2 > 1:
print('2 > 1 is true')
else:
print('2 > 1 is false')
print('Program is end')
对比这两段程序,可以发现使用缩进后,提高了程序的可读性。在使用缩进的程序中,可以直观的看到代码之间的层次关系,具体如下:
- 第 1 行的 if 语句和第 2 行的 print 语句处于不同的层次
- 第 1 行的 if 语句和第 5 行的 print 语句处于相同的层次
4.3 必须使用缩进
Python 语言要求在需要表达代码层次关系的场景中,必须使用缩进。如果不使用缩进,程序运行时则会报告错误。例如,编写程序 no-indent.py 如下:
if 2 > 1:
print('2 > 1 is true')
运行 no-indent.py,输出结果如下:
C:\> python no-indent.py
File "no-indent.py", line 2
print('2 > 1 is true')
^
IndentationError: expected an indented block
输出表明在程序的第 2 行缺乏缩进(expected an indented block)。
5. 输入与输出
5.1 输入
Python 提供了 input 语句用于读取键盘输入,input 语句读取用户输入的一行文本。
>>> line = input()
hello world
>>> line
'hello world'
- 在第 1 行,使用 input 语句读取用户输入的一行文本,将该文本保存到变量 line 中。
- 在第 2 行,用户输入一行文本 ‘hello world’。
- 在第 3 行,查看变量 line。
- 在第 4 行,显示结果为文本 ‘hello world’
可以在 input 语句中加入参数,该参数作为用户输入的提示符,例如:
>>> number = input('Please input a number: ')
Please input a number: 123
>>> number
'123'
- 在第 1 行,使用 input 语句读取用户输入的一行文本,将该文本保存到变量 number 中。input 语句带有一个参数 'Please input a number: '。
- 在第 2 行,input 语句首先输出 input 语句的参数 'Please input a number: ',这样用户就根据该提示输入数字,然后 input 语句再读取用户输入的一行文本 123。
5.2 输出
在 python 中使用 print 语句向屏幕上输出。举例如下:
- 使用 print 语句输出一段文本
>>> print('hello world')
hello world
- 使用 print 语句输出整数
>>> print(123)
123
- 使用 print 语句输出表达式的结果
>>> print(1+1)
2
- 使用 print 语句输出变量的值
>>> var = 123
>>> print(var)
123
- 使用 print 语句输出多项内容:
- 在输入中,每项内容使用逗号分开
- 在输出中,每项内容使用空格分开
>>> print(123, "hello", 1+1)
123 hello 2
6. 编码与中文乱码
6.1 常见错误
在 Windows 操作系统中,使用 Python 输出中文时,可能会出现乱码的的情况,例如,使用 Windows 自带的记事本编写程序 chinese.py,内容如下:
运行该程序,输出结果如下:
C:\>python chinese.py
File "chinese.py", line 1
SyntaxError: Non-UTF-8 code starting with '\xd6' in file chinese.py on line 1, b
ut no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
6.2 解决乱码的方法
以上中文乱码的错误与中文编码有关,对初学者来说,编码是一个较难解释清楚的概念,需要有相当长的篇幅才能解释清楚,本文仅介绍如何解决这类问题。
如果 Python 程序需要输出中文,运行程序时出现错误提示 ‘SyntaxError: Non-UTF-8 cod starting’,解决这类错误的最简单方法是:
- 不要使用 Windows 自带的记事本程序编写包含中文的 Python 程序
- 请使用如下工具编写包含中文的 Python 程序
- Python 自带的集成开发环境 IDLE
- PyCharm
- Sublime text
用以上推荐的工具重新编写程序 chinese.py,则可以正常输出结果:
中国
美国
7. 小结
这节课我们学习了 Python 的基本语法规范,这非常的重要。在实际的开发工作中,我们的代码都要严格遵守这些规范,因为你写的代码不单单只有你一个人阅读和使用,如果不遵守规范,会给我们的协同工作带来巨大的不便。