2. Python3源码—浮点对象
2.1. 浮点对象
浮点对象是“定长对象”。
2.1.1. Python中的创建
Python中浮点对象创建最重要的方法为PyFloat_FromDouble,如下Python语句最终会调用到PyFloat_FromDouble:
a = 1.23
b = float(1.234)
2.1.2. PyFloat_FromDouble的C调用栈
词法解析,最终调到PyFloat_FromDouble,调用顺序如下:
// ast.c
ast_for_expr
=>ast_for_power
=>ast_for_atom_expr
=>ast_for_atom (case NUMBER)
=>parsenumber
=>parsenumber_raw
// floatobject.c
=> PyFloat_Fr