每天三分钟,我们一起学python。在上一期PyCharm的安装及常用配置中,给大家介绍了PyCharm的安装方法和一些常用的配置。安装过PyCharm之后,我们就可以开始编写python程序了,今天要为大家介绍的是python的基本语法,也就是python的语法规则,就像我们学习英语时,需要学习语法一些,学习python的时候我们也要了解python的基本语法。说起语法可能大家就会回忆起学习英语语法时的痛苦,不用担心,python的基本语法可比英语语法简单多了,相信大家可以很快掌握的!
python编码
默认情况下, Python 源码文件以 UTF-8 编码方式处理。在这种编码方式中,世界上大多数语言的字符都可以同时用于字符串字面值、变量或函数名称以及注释中。使用UTF-8编码方式可以较好的显示中文简体、中文繁体、日文及韩文等。
如果不使用默认编码,要声明文件所使用的编码,文件的 第一行要写成特殊的注释。语法如下所示:
# -*- coding: -*-
其中 encoding 可以是 Python 支持的任意一种 codecs。比如,你要声明使用 unicode 编码,你就可以这么写:
# -*- coding: unicode -*-
python的行
一个完整的python程序可以划分成许多逻辑行。一个逻辑行由一个或者多个物理行按照显式或者隐式行拼接构成。物理行以行结束符结尾算作一行,python使用标准C的传统换行符也就是 作为行终止标志。
通常来说,一个物理行就是一个逻辑行。但是也可以由多个物理行组成一个逻辑行,这就涉及到了行的显式拼接和隐式拼接。
- 显式行拼接
两个或更多个物理行可使用反斜杠字符 ( ) 拼接为一个逻辑行,规则如下: 当一个物理行以一个不在字符串或注释内的反斜杠结尾时,它将与下一行拼接构成一个单独的逻辑行,反斜框及其后的换行符会被删除。例如:
if 1900 < year < 2100 and 1 <= month <= 12 and 1 <= day <= 31 and 0 <= hour < 24 and 0 <= minute < 60 and 0 <= second < 60: #以上三行拼接成一条完整的if语句 return 1
需要注意:以反斜杠结束的行不能带有注释,反斜杠也不能拼接注释。
- 隐式行拼接
圆括号()、方括号[ ]或花括号{ }以内的表达式允许分成多个物理行,无需使用反斜杠。例如:
month=['January','February','March', 'April', 'May','June', 'July', 'August', 'September', 'October', 'November', 'December']
隐式的行拼接可以带有注释。后续行的缩进不影响程序结构。后续行也允许为空白行。
python空行
一个只包含空格符,制表符,换页符或者注释的逻辑行会被忽略。但空行常用于分割代码块,便于代码维护。
python缩进
python的一大特点就是使用缩进来代表代码组织结构。不像其他语言一些使用{}或者其他形式代表一个代码块。但是,缩进并没有严格的限制,可以使用多个空格,也可以使用Tab键。需要注意的是:
在一个源文件中如果混合使用制表符和空格符缩进,并使得确定缩进层次需要依赖于制表符对应的空格数量设置,则被视为不合规则;此情况将会引发 TabError。
也就是说,在一个python文件中,如果使用Tab键,就全部使用Tab键,如果使用2个空格,就统一使用2个空格,做到统一就没问题了。一般来说使用4个空格键,在pycharm中也可以设置输入Tab键即为输入4个空格。以下示例展示了几种缩进错误:
def perm(l): # error: 第一行无需缩进for i in range(len(l)): # error: 没有缩进 s = l[:i] + l[i+1:] p = perm(l[:i] + l[i+1:]) # error: 错误缩进,应与上一行相同缩进 for x in p: r.append(l[i:i+1] + x) return r # error: 应与第一个for循环为相同缩进
python注释
注释是对程序的解释,无法运行。python中单行注释以#开头,多行注释用三个单引号(''')或者三个双引号(""")将注释括起来。
python标识符
标识符 (或者叫做名称) 由以下词法定义进行描述。在 ASCII 范围内 (U+0001..U+007F),可用于标识符的字符与 Python 2.x 一致: 大写和小写字母 A 至 Z,下划线 _ 以及数字 0 至 9,但不可以数字打头。Python 3.0 引入了 ASCII 范围以外的额外字符 (见 PEP 3131)。这些字符的分类使用包含于 unicodedata 模块中的 Unicode 字符数据库版本。标识符的长度没有限制。对大小写敏感。
python关键字
以下标识符被作为语言的保留字或称 关键字,不可被用作普通标识符。关键字的拼写必须与这里列出的完全一致。