`return`或`del`的类型是什么?

Kev*_*uan 3 python syntax naming

我不认为它们是功能,我不能type(return)用来得到答案(它会引起错误).

他们叫什么?我可以定义类似的东西吗?

Mar*_*ers 6

return并且del陈述.它们不是对象,因此它们没有类型.语句构成语言的语法,对象构成语法操作的数据模型.

有关其文档,请参阅简单语句参考页面.还有复合陈述 ; 包含更多语句组的语句.

因为这两个delreturn是一个声明,他们的名字也保留关键字,这意味着你不能使用它们来创建标识符.语句中使用的所有单词都是关键字*,但并非所有关键字都是(部分)语句.

您无法在Python本身中定义自己的语句,您必须扩展语言实现本身(因此扩展Python语法,标记生成器,解析器,AST模型和解释器).


*当前的例外是单词async,await而且暂时不是协同程序之外的关键字,以帮助将现有代码转换为Python 3.5; 使他们现在的关键字将可能会破坏太多现有的代码,还没有使用协同程序反正.参见PEP 492过渡计划 ; 计划是在Python 3.7中使它们成为关键字.

  • @KevinGuan Martijn知道关于python的一切,但这并不意味着你应该问他一切.您在评论中的问题/请求可以很容易地用Google搜索 (2认同)