Python 如何从 Double 中分辨出 Int

所以在我们关于组装的演讲幻灯片中,我们有:

C、A 和 B 的高级语言数据类型从几种选择(整数、浮点)中确定正确的电路,用于执行“+”运算

现在在像 Python 这样的语言中,我没有指定变量的类型。我想知道语言如何编译(解释,我认为是它所做的)到汇编并选择正确的电路?


扬帆大鱼
浏览 215回答 3
3回答

RISEBY

每个 Python 变量都是对对象的引用。该对象包括变量的类型信息。例如,当我们反复重新分配x“on the fly”的值和类型时,只需浏览一些可能性:for x in [1, 1.0, "1", [1]]:&nbsp; &nbsp; print(x, type(x))输出:1 <class 'int'>1.0 <class 'float'>1 <class 'str'>[1] <class 'list'>如果您想知道 Python 如何判断它1是一个 int1.0还是一个浮点数,这从输入字符串中很明显。语言处理器通常包含一个可以区分语言标记的标记器,以及在语言语法中解释这些标记的另一个模块。int 和 float 对象具有不同的标记格式……字符串、标点符号、标识符和任何其他语言元素也是如此。如果您想了解有关该级别详细信息的更多信息,请研究如何解析计算机语言:大多数技术适用于大多数语言。

白猪掌柜的

正如 nm 在您的帖子下方评论的那样,变量在 Python 中没有类型。价值观。至于在键入以下内容时如何确定整数与浮点数:x&nbsp;=&nbsp;1.5 y&nbsp;=&nbsp;2这是在解析阶段确定的。编译型语言和解释型语言实际上以相同的方式开始。将代码发送到解释器/编译器的一般流程如下:[source&nbsp;code]&nbsp;-->&nbsp;lexical&nbsp;analyzer&nbsp;-->&nbsp;[tokens]&nbsp;-->&nbsp;parser&nbsp;-->&nbsp;[abstract&nbsp;syntax&nbsp;tree]&nbsp;-->解析器步骤检查诸如 'x' '=' '1.5' 之类的标记,并查找指示不同类型文字(如整数、浮点数和字符串)的模式。当实际的解释器/编译器获得抽象语法树(程序的树表示)时,它已经知道存储在 x (1.5) 中的值是一个浮点数。所以需要明确的是,这部分过程对于解释器和编译器在概念上是相同的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python