Python教程003 编码 缩进 标识符 保留字 注释 表达式 语句
文章目录
编码
默认情况下,Python 3源码文件以UTF-8编码,所有字符串都是unicode字符串。 当然也可以手动指定文件编码,有两种形式。
|
|
或者
|
|
注意: 编码声明必须位于文件第一行。如果非第一行的话,该行前面必须是注释。
如果找不到编码声明,则默认编码为UTF-8。此外,如果文件的第一个字节是utf-8字节顺序标记(b’\xef\xbb\xbf’),则声明的文件编码是utf-8(微软记事本也支持)。如果声明了编码,则必须由python识别编码名称。
例如,将编码声明为utf-8
|
|
例如,将编码声明为SJIS
|
|
缩进
python最具特色的就是使用缩进来表示代码块,不需要像其他编程语言一样,使用大括号{}。使用空格或者tab键(制表符)来缩进。一般是用半角4个空格或一个tab键。
例如:
|
|
缩进的前导空格(空格和tab键)用于计算行的缩进级别。第一个非空白字符前面的空格总数确定了行的缩进量。
例如:
|
|
同一个代码块的语句必须包含相同的缩进数。否则会导致运行错误,抛出IndentationError异常:
例如:
|
|
以上程序由于缩进不一致,执行后会出现类似以下错误:
|
|
缩进不能混用空格和tab键,两者选择其一。否则会引起TabError异常。
例如:
|
|
标识符
python中标识符的语法基于Unicode标准附件UAX-31,其规则如下:
- 在ASCII范围内(U+0001..U+007F),第一个字符必须是字母表中字母或下划线_,不能以数字开头。
- 标识符的其他的部分由字母、数字和下划线组成。
例如:
|
|
- Python 3.0引入了ASCII范围之外的其他字符(请参见pep 3131)。对于这些字符,使用unicodedata模块中包含的unicode字符数据库版本。例如以下的也是合法的标识符。
例如:
|
|
- Python标识符长度不受限制,大小写敏感。
例如,下例中的A和a是不同的标识符。
|
|
保留字(关键字)
以下标识符是Python语言的保留字(也叫关键字),不能用作标识符。它们的拼写必须与此处所写的完全一致(注意大小写):
- | - | 一览表 | - | - |
---|---|---|---|---|
False | await | else | import | pass |
None | break | except | in | raise |
True | class | finally | is | return |
and | continue | for | lambda | try |
as | def | from | nonlocal | while |
assert | del | global | not | with |
async | elif | if | or | yield |
用作标识符时,会报语法错误,抛出SyntaxError异常。
例如:
|
|
其实,以上的保留字是由Python的标准库keyword模块来提供的。keyword模块可以输出当前Python版本的所有保留字(关键字):
|
|
注释
注释是为了说明程序的逻辑,运行程序时,注释将被忽略。注释分为单行注释和多行注释。
单行注释
单行注释以#开头,后面是注释内容。
例如:
|
|
多行注释
多行注释可以用多个#号,也可以用三个单引号或双引号”‘和”““。 单引号或双引号必须成对出现。
例如:
|
|
”‘注释可以跨越多行,后面可以包含空行和”““。
例如:
|
|
”““注释也可以跨越多行,后面可以包含空行和”‘。
例如:
|
|
表达式
表达式(expression)是可以求出某个值的语法单元。 换句话说,一个表达式就是表达元素例如字面值、名称、属性访问、运算符或函数调用的汇总,它们最终都会返回一个值。 与许多其他语言不同,并非所有语言构件都是表达式。 还存在不能被用作表达式的语句(statement),例如 while。 赋值也是属于语句而非表达式。
语句
语句(statement)是程序段(一个代码“块”)的组成单位。一条语句可以是一个表达式(expression)或某个带有关键字的结构,例如 if、while 或 for。
语句包含表达式,表达式肯定是语句,语句不一定是表达式。
多行语句
Python语句可以跨越多行,Python有以下两种方式来写多行语句。
- 使用反斜杠\来实现多行语句。\后面不能再有其他字符。
例如:
|
|
- 在[], {}, 或()中的多行语句,不需要使用反斜杠\。
例如:
|
|
执行以上程序会输出如下结果:
|
|
注意: b是字典,字典是无序的,可能你的输出结果不是{'a': 1, 'b': 2, 'c': 3}
,有可能是{'b': 2, 'a': 1, 'c': 3}
,或者{'c': 3,'a': 1, 'b': 2,}
等等。
参考资料:
https://docs.python.org/3/reference/lexical_analysis.html
转载请注明本网址。