CDA数据分析师|为什么要有 pass 语句?,Python( 二 )


Python在定义函数时 , 必须包含函数体 , 即同时包含声明加定义两种语义 , 不能像某些语言可以只使用声明的语义 , 即写成voidtest; 。
但是 , 由于Python不使用花括号 , 它无法像某些语言那样直接定义出空函数 , 即写成voidtest{} 。
综合以上的分析 , Python在定义空函数时 , 必须要有合法的函数体 , 因此设计出表示空操作的pass语句 。 它是为了补充语法的完整性 , 连同冒号 , 等效于其它语言中一对空的花括号 。
从语法完整性的维度上看 , 它是必须的设计要素 , 如果没有的话 , 也必须用类似的空语句或特殊符号来替代 。
对人方面 , pass可以表示“暂时跳过”的含义 , 作为临时的占位符 , 最终会被实际的代码实现所替换;对机器方面 , 它则可以表示“直接跳过” , 只为了补齐语法逻辑 , 并不会被其它代码所替换 。
其它语言没有专门的一种语句或者符号来表示这种占位符(即语义有所欠缺) , 但是它们也不需要费心思专门设计一个关键字来补齐语法完整性(即语法完备) 。
回到本文开头的问题:Python为什么要有pass语句 , 它能解决什么问题(好处) , 如果没有它 , 会导致什么问题(坏处)?
Python使用pass语句 , 是为了支持纯粹空操作的代码块(空函数、空类、空的循环控制块等等) , 有了它 , 还能额外表达出一种占位符的语义 。
【CDA数据分析师|为什么要有 pass 语句?,Python】前者是对于机器而言的 , 必须要有 , 等效于其它语言中空花括号的作用;后者是对于人而言的 , 非必须的 , 可以用注释来表达 , 但因为Python设计了这个语句 , 这种用法有时候还挺方便的 。