python关键字(保留字)用法、保留的标识符类(1)
一、python保留字(关键字)
1.1、python关键字
以下标识符为保留字,或称 关键字,不可用于普通标识符,即我们不能把它们用作任何标识符名称。
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 |
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
>>> import keyword
>>> keyword.kwlist
>>> import keyword
>>> keyword.kwlist
输出结果:
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
我们也可以通过写代码的形式输出当前版本的所有关键字:
from keyword import kwlist, softkwlist
def dispaly_keywords() -> None:
print('Keywords:')
for i, kw in enumerate(kwlist, start=1):
print(f'{i:2}: {kw}')
def main() -> None:
dispaly_keywords()
if __name__ == '__main__':
main()
输出结果:
Keywords:
1: False
2: None
3: True
4: and
5: as
6: assert
7: async
8: await
9: break
10: class
11: continue
12: def
13: del
14: elif
15: else
16: except
17: finally
18: for
19: from
20: global
21: if
22: import
23: in
24: is
25: lambda
26: nonlocal
27: not
28: or
29: pass
30: raise
31: return
32: try
33: while
34: with
35: yield
1.2、软关键字
某些标识符仅在特定上下文中被保留。 它们被称为 软关键字。
match, case, type 和 _ 等标识符在特定上下文中具有关键字的语义,但这种区a分是在解析器层级完成的,而不是在分词的时候。
作为软关键字,它们能够在用于相应语法的同时仍然保持与用作标识符名称的现有代码的兼容性。
match, case 和 _ 是在 match 语句中使用。 type 是在 type 语句中使用。
在 python 3.12 版更改: type 现在是一个软关键字。
✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆
from keyword import kwlist, softkwlist
def dispaly_keywords() -> None:
print('Soft keywords:')
for i, skw in enumerate(softkwlist, start=1):
print(f'{i:2}: {skw}')
def main() -> None:
dispaly_keywords()
if __name__ == '__main__':
main()
输出结果:
Soft keywords:
1: _
2: case
3: match
4: type
二、保留的标识符类
某些标识符类(除了关键字)具有特殊含义。这些类的命名模式以下划线字符开头,并以下划线结尾:
_*
不会被 from module import * 所导入。
_
在 match 语句内部的 case 模式中,_ 是一个 软关键字,它表示 通配符。
在此之外,交互式解释器会将最后一次求值的结果放到变量 _ 中。 (它与 print 等内置函数一起被存储于 builtins 模块。)
在其他地方,_ 是一个常规标识符。 它常常被用来命名 "特殊" 条目,但对 Python 本身来说毫无特殊之处。
备注 _ 常用于连接国际化文本;详见 gettext 模块文档。
它还经常被用来命名无需使用的变量。
__*__
系统定义的名称,通常简称为 "dunder" 。
这些名称由解释器及其实现(包括标准库)定义。
现有系统定义名称相关的论述详见 特殊方法名称 等章节。Python 未来版本中还将定义更多此类名称。
任何情况下,任何 不显式遵从 __*__ 名称的文档用法,都可能导致无警告提示的错误。
__*
类的私有名称。类定义时,此类名称以一种混合形式重写,以避免基类及派生类的 "私有" 属性之间产生名称冲突。详见 标识符(名称)。
✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆✨❆
推荐阅读:
逆境清醒文章总目录表
|
|
|
给照片换底色(python+opencv) | 猫十二分类 | 基于大模型的虚拟数字人__虚拟主播实例 |
|
|
|
计算机视觉__基本图像操作(显示、读取、保存) | 直方图(颜色直方图、灰度直方图) | 直方图均衡化(调节图像亮度、对比度) |
|
|
|
逆境清醒
逆境清醒
|
|
|
2024年12月多家权威机构____编程语言排行榜__薪酬状况 | ||
|
|
|
【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向) | ||
逆境清醒
逆境清醒
|
|
|
逆境清醒
![]() |
![]() |
|