分隔符帮助解释器/编译器识别代码的逻辑结构,例如:

  • if x > 0: print(x) 中的 : 分隔了条件和代码块。
  • [1, 2, 3] 中的 , 分隔了列表元素。
  • x = 10 中的 = 分隔了变量名和值。

如果没有明确的分隔符,代码可能产生歧义(如 x=1+2 和 x = 1 + 2 虽然等价,但分隔符使后者更易读)。

基本分隔符

  • 结构分隔
  • ( ):括号,用于函数调用、表达式分组、元组等。
  • [ ]:方括号,用于列表、索引/切片等。
  • { }:花括号,用于字典、集合、代码块(如字典推导式)。
  • 语句分隔
  • ,:分隔多个元素(如函数参数、列表/元组项)。
  • ::标记代码块的开始(如iffordef后)、字典的键值对。
  • ;:分隔同一行内的多条语句(不推荐常用)。
  • .:属性访问(如obj.method)、浮点数的小数点。
  • @:装饰器语法(如@decorator)。

增强赋值操作符(词法分隔符)

这些符号既是运算符,也是词法分隔符(标记变量名和值的边界):

  • =+=-=*=/= 等:赋值或增量赋值(如 x += 1)。
  • 虽然它们执行运算,但同时也分隔了左值和右值(如 x = y 中 = 分隔了 x 和 y)。

特殊含义的 ASCII 字符

  • 字符串/注释相关
  • '":定义字符串字面值(如 "hello")。
  • \:转义字符(如 \n 换行)。
  • #:注释符号(# 注释内容)。
  • 未使用的字符
  • $?`:在 Python 中无特殊意义,直接使用会报错(除非在字符串或注释中)。

其他符号的特殊用法

  • 句点(.)的多义性
  • 浮点数:3.14 中的 . 是小数点。
  • 省略符(Ellipsis):... 表示省略(如切片或类型提示中的占位符)。
  • 箭头(->:用于函数注解,标记返回值类型(如 def foo() -> int:)。