我不认为它们是函数,我不能使用type(return)
来得到答案(它会引发错误)。
他们叫什么?我可以定义类似的东西吗?
答案 0 :(得分:6)
return
和del
是语句。它们不是物体,所以它们没有类型。语句构成语言的语法,对象构成语法操作的数据模型。
请参阅Simple Statements reference page了解其文档。还有Compound Statements;包含更多语句组的语句。
由于del
和return
都是语句,因此它们的名称也是reserved keywords,这意味着您无法使用它们来创建标识符。语句中使用的所有单词都是关键字 * ,但并非所有关键字都是(部分)语句。
您无法在Python中定义自己的语句,您必须自己扩展语言实现(因此扩展Python语法,标记生成器,解析器,AST模型和解释器)。
* ,当前的例外是async
and await
,它们暂时不是协同程序之外的关键字,以帮助将现有代码转换为Python 3.5;现在将它们作为关键字可能会破坏太多尚未使用协程 的现有代码。见PEP 492 transition plan;计划是在Python 3.7中将它们设为关键字。