Python备忘(一)
语言参考
1.编码声明
Python 脚本第一或第二行的注释匹配正则表达式 coding[=:]\s*([-\w.]+) 时,该注释会被当作编码声明;这个表达式的第一组指定了源码文件的编码。编码声明必须独占一行,在第二行时,则第一行必须也是注释。没有编码声明时,默认编码为 UTF-8。编码表达式的形式如下:
# -*- coding: <encoding-name> -*-
当然,也支持以下格式:
# encoding=<encoding-name>
2.显式行拼接
两个及两个以上的物理行可用反斜杠(\)拼接为一个逻辑行,规则如下:以不在字符串或注释内的反斜杠结尾时,物理行将与下一行拼接成一个逻辑行,并删除反斜杠及其后的换行符。例如:
if 2020< year < 2022 and 1 <= month <= 12 \
and 1 <= day <= 31 and 0 <= hour < 24 \
and 0 <= minute < 60 and 0 <= second < 60:
return 1
以反斜杠结尾的行,不能加注释;反斜杠也不能拼接注释。除字符串字面值外,反斜杠不能拼接形符(如,除字符串字面值外,不能用反斜杠把形符切分至两个物理行)。反斜杠只能在代码的字符串字面值里,在其他任何位置都是非法的。
3.隐式行拼接
圆括号、方括号、花括号内的表达式可以分成多个物理行,不必使用反斜杠。例如:
month_names = ['Januari', 'Februari', 'Maart', # These are the
'April', 'Mei', 'Juni', # Dutch names
'Juli', 'Augustus', 'September', # for the months
'Oktober', 'November', 'December'] # of the year
隐式行拼接可含注释;后续行的缩进并不重要;还支持空的后续行。隐式拼接行之间没有 NEWLINE 形符。三引号字符串支持隐式拼接行(见下文),但不支持注释。
4.缩进
逻辑行开头的空白符(空格符和制表符)用于计算该行的缩进层级,决定语句组块。例如:
if year > 2000:
msg = "身处二十一世纪,站在哪儿都是风口啊!"
else:
msg = "进入了异次元"
5.标识符和关键字
有效标识符字符为: 大小写字母 A 至 Z、下划线 _ 、数字 0 至 9,但不能以数字开头。标识符的长度没有限制,但区分大小写。
以下标识符为保留字,或称 关键字,不可用于普通标识符。关键字的拼写必须与这里列出的完全一致:
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
有特殊含义的标识符:
_* 不能被语句 from module import * 导入。
__*__ 一般为系统定义的名称,属于特殊方法。
__* 类的私有名称。类定义时,此类名称以一种混合形式重写,以避免基类及派生类的 "私有" 属性之间产生名称冲突。
6. 运算符和分隔符
运算符如下所示:
+ - * ** / // % @
<< >> & | ^ ~ :=
< > <= >= == !=
以下形符在语法中为分隔符:
( ) [ ] { }
, : . ; @ = ->
+= -= *= /= //= %= @=
&= |= ^= >>= <<= **=

浙公网安备 33010602011771号