Python 基本语法规范

Python 基本语法规范

在这个标准工业大行其道的今天,任何事物都有属于自己的标准或者规范。作为当下最流行的编程语言之一的 Python 当然也不例外,这节课我们就来学习下 Python 的基本语法规范:

1. 简介

本文介绍 Python 的最基本语法和功能,即:安装完 Python 后、开始学习 Python,首先需要了解的知识点。

2. 变量

2.1 什么是变量

变量是 Python 程序用来保存计算结果的存储单元,为了方便访问这块存储单元,Python 给这块存储单元命名,该名称即为变量名,在 Python 中通过变量名来访问保存计算结果的存储单元。

在下图中,在内存中有一块存储区域保存了计算结果 123,在 Python 程序中使用变量 X 表示这一块存储区域,如下所示:

图片描述

变量 X 用于保存计算结果

变量的值是可以变化的,在下图中,将变量 X 修改为 456,如下所示:

图片描述

修改变量 X

2.2 在 Python 中定义和修改变量

本小节通过实例讲解如何在 Python 中定义和修改变量,步骤如下:

  1. 在命令行窗口中输入 python,进入 Python 的交互模式。注意,在 Python 的交互模式下,>>> 是提示符。本小节面向初学者,因此会提及进入 Python 的交互模式,之后的章节将不再赘述。

图片描述

进入 Python 的交互模式
  1. 定义变量 X,并设定变量 X 的初值为 123

>>> X =
  1. 直接输入变量名 X,读取变量 X 的值,在交互模式下,会输出变量 X 的当前值。

>>> X
  1. 修改变量 X 为 456。

>>> X =
  1. 直接输入变量名 X,读取变量 X 的值,发现变量 X 已经修改为 456。

>>> X

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 中的关键字

在 Python 的交互模式中,输入’False = 123’,定义变量 False,初值为 123,输出结果如下:

>>> False = 
  File <stdin>, line 
SyntaxError: can't assign to keyword

False 是 Python 的关键字,因此提示语法错误:“SyntaxError: can’t assign to keyword”。

3. 注释与空行

3.1 什么是注释

在编写 Python 程序时,写程序的人为程序段给出解释或提示,对代码的解释被称为注释。通过在程序代码中添加注释,可以提高程序代码的可读性。

Python 程序由多个程序段构成,可以使用空行将程序段分开,从而提高程序代码的可读性。

编写程序 comment.py,文件内容如下:

# 首先定义变量 xx = # 将变量 x 修改为 456x =
  • 在第1行和第4行中,以 # 开头的文本为 Python 注释,说明了下一行代码的功能。

  • 在第3行,没有任何代码,是一个空行。

  • 执行该程序时,Python 会忽视注释和空行,不会执行注释和空行。

3.2 多行注释

以 # 开头的注释可以注释一行文本,Python 另外提供了注释多行文本的功能。多行注释用三个单引号 ‘’’ 或者三个双引号 “” 将注释括起来,例如:

  1. 使用3个单引号注释多行文本

'''
# 首先定义变量 x
# 让后将变量 x 修改为 456
x = 123
x = 456
'''
  1. 使用3个双引号注释多行文本

# 首先定义变量 x
# 让后将变量 x 修改为 456
x = 123
x = 456

4. 缩进

4.1 什么是缩进

在 Python 中,行首的空白区域被称为缩进,例如:

if  > :print('2 > 1 is true')

在第 2 行的首部,有 4 个空格, 这个 4 个空格被称为缩进。

在 Python 中,可以使用 TAB 或者空格作为缩进,大部分代码规范建议使用 4 个空格作为缩进。在 Python 自带的集成开发环境 IDLE 中,用户输入 TAB 时,TAB 会被自动转换为 4 个空格。

4.2 为什么需要缩进

使用缩进后,可以直观的看到代码的逻辑层次,从而提高代码的可读性。

如果不使用缩进,完成一个程序如下:

if  > :print('2 > 1 is true')else:print('2 > 1 is false')print('Program is end')

如果使用缩进,完成相同功能的程序如下:

if  > :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  > :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: >>> number'123'
  • 在第 1 行,使用 input 语句读取用户输入的一行文本,将该文本保存到变量 number 中。input 语句带有一个参数 'Please input a number: '。

  • 在第 2 行,input 语句首先输出 input 语句的参数 'Please input a number: ',这样用户就根据该提示输入数字,然后 input 语句再读取用户输入的一行文本 123。

5.2 输出

在 python 中使用 print 语句向屏幕上输出。举例如下:

  1. 使用 print 语句输出一段文本

>>> print('hello world')hello world
  1. 使用 print 语句输出整数

>>> print()
  1. 使用 print 语句输出表达式的结果

>>> print(+)
  1. 使用 print 语句输出变量的值

>>> var = >>> print(var)
  1. 使用 print 语句输出多项内容:

    • 在输入中,每项内容使用逗号分开

    • 在输出中,每项内容使用空格分开

>>> print(, hello, +)
 hello

6. 编码与中文乱码

6.1 常见错误

在 Windows 操作系统中,使用 Python 输出中文时,可能会出现乱码的的情况,例如,使用 Windows 自带的记事本编写程序 chinese.py,内容如下:

print('中国')print('美国')

运行该程序,输出结果如下:

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 的基本语法规范,这非常的重要。在实际的开发工作中,我们的代码都要严格遵守这些规范,因为你写的代码不单单只有你一个人阅读和使用,如果不遵守规范,会给我们的协同工作带来巨大的不便。