基础篇的前三节将介绍python中的语法规则:
- 一些基本语法规则
- 变量赋值
- 标识符
在学习Python的过程中,这些基础的语法规则时时刻刻都会运用,一定要牢记于心。
1. 一些基本语法规则
- 注释( # )
- 继续( \ )
- 缩进
- 同一行写多个语句( ; )
1.1 注释
注释在任何一种语言中的都十分重要,尤其在团队合作时,简洁明了的注释是帮助他人理解代码的关键。
1. 单行注释
井号(#)是单行注释的符号,在程序中使用#时,右侧的内容会被作为注释,从而不被当作程序运行。
python程序中,单行注释十分常见,在一些关键的、需要解释功能的语句后面往往会添加:
res = 2 * 3 # 计算2 * 3的结果,并把结果赋值给res
单行注释也常出现在某一段完成相同功能的代码,或者代码块之前:
# 计算2 * 3的结果,并输出
def cacu:
print (2 * 3)
另外还有一些特殊的注释,这类注释并不用于对代码功能作出解释,一般出现在一个.py文件的开头,例如:
#coding=utf-8
如果说代码中带有中文,那么这一段注释就十分必要,否则程序运行时就会出错,这段注释的原理涉及到编码的问题,在之后的章节中将会提到。
2. 多行注释
顾名思义,多行注释一般是在注释内容较多,占据多行的情况下使用。多行注释由三引号来表示,例如:
‘’‘
三对单引号,多行注释符
三对单引号,多行注释符
三对单引号,多行注释符
’‘’
“”“
三对双引号,多行注释符
三对双引号,多行注释符
三对双引号,多行注释符
”“”
如果追求一个良好的Python代码风格,那么在重要的Python文件(或模块)的开头,需要写一段简要的说明文档,包括这个模块的功能,实现的要点,可能的错误等等,这里往往就会用到多行注释。例如,一个典型Python模块的布局应当是:
#!/usr/bin/env python
# coding: utf-8
'''
The approach taken is explained below. I decided to do it simply.
Initially I was considering parsing the data into some sort of
structure and then generating an appropriate README. I am still
considering doing it - but for now this should work. The only issue
I see is that it only sorts the entries at the lowest level, and that
'''
#模块导入部分
import os
import time
#变量定义,函数定义,类定义
……
#主程序
……
顺带提一句,三引号在Python中还有另外一个作用,就是用于表示多行字符串:
str='''Line 1
Line 2
Line 3''' #等价于 str='Line 1\nLine 2\nLine 3'
1.2 继续
在Python中,一条语句一定写在同一行,如果一条语句过长,就可以用 \ 分割成多行:
# check conditions
if (a_lengthy_condition == 1 ) and \
(another_lengthy_condition == 2):
move()
\ 的另一个重要的使用就是转义字符,在之后字符串的章节中将会提到。
1.3 缩进
在C/C++语言中,一般采用{……}来分割出代码块,例如:
if (condition1) {
cout << "Level 1" << endl;
if (condition2) {
cout << "Level 2" << endl;
}
}
即使没有使用缩进,只要有大括号的存在,以下的代码与上述代码在功能上没有任何区别,当然以下这种没有缩进的风格绝对是不提倡的:
if (condition1) {
cout << "Level 1" << endl;
if (condition2) {
cout << "Level 2" << endl;
}
}
Python不再使用大括号,而是利用缩进来分割代码块,代码的层次关系是利用同样深度的空格或制表符来体现:
if condition1:
print "Level 1"
if condition2:
print "Level 2"
很明显,Python由于不再使用大括号,为了区分出不同层次的代码块,必须严格使用不同深度的缩进,否则有可能使程序出错,或者改变原本的功能。
另外需要注意,一次缩进几个空格的问题:
核心风格:缩进四个空格宽度,避免使用制表符
对一个初次使用空白字符作为代码块分界的人来说,遇到的第一个问题是:缩进多大宽度才合适?两个太少,六到八个又太多,因此我们推荐使用四个空格宽度。需要说明一点,不同的文本编辑器中制表符代表的空白宽度不一,如果你的代码要跨平台应用,或者会被不同的编辑器读写,建议你不要使用制表符。使用空格或制表符这两种风格都得到了 Python 创始人 Guido van Rossum 的支持,并被收录到 Python 代码风格指南文档。
–《Python核心编程》
1.4 同一行写多个语句
分号( ; )可以让多个Python语句出现在同一行:
import os; a = 1 * 1; b = 1 + 1
这种风格的代码可读性会较差,因此一般而言并不提倡同行写多个语句。