Python 添加int仍然会创建一个浮点数吗?

Python 添加int仍然会创建一个浮点数吗?,python,python-3.4,Python,Python 3.4,在上述情况下,以米为单位的高度很可能被输入为浮点数(即1.8),因此,在声明“bmi=int”和“height=int”后,如果必要,末端bmi是否仍会产生浮点数 是的。如果将浮点添加到int,则int将在添加之前升级为浮点。是。如果将浮点添加到int,则int将在添加之前升级为浮点。是。如果将浮点添加到int,则int将在添加之前升级为浮点。是。如果将浮点添加到int,则在进行添加之前,int将被提升为浮点。在Python中,当使用浮点和返回浮点的int执行操作时,Python将自动处理返回浮

在上述情况下,以米为单位的高度很可能被输入为浮点数(即1.8),因此,在声明“bmi=int”和“height=int”后,如果必要,末端bmi是否仍会产生浮点数

是的。如果将浮点添加到
int
,则
int
将在添加之前升级为浮点。

是。如果将浮点添加到
int
,则
int
将在添加之前升级为浮点。

是。如果将浮点添加到
int
,则
int
将在添加之前升级为浮点。

是。如果将浮点添加到
int
,则在进行添加之前,
int
将被提升为浮点。

在Python中,当使用浮点和返回浮点的int执行操作时,Python将自动处理返回浮点的操作

例如:

# Simple Bmi Calculator
# Weight (KG) / Height (M) then Answer / Height (m) = BMI


print("Hello, today we will calculate your Body Mass Index")

weight = input("How many kilo's do you weigh? ")  
weight = int  
height = input("What is your height in metres? ")  
height = int 
bmi = (weight / height / height)  
bmi = int

print("Thank you, your Body Mass Index is ")  
print(bmi)

input("\n\nPress the enter key to exit")
这里我们可以看到添加
int
float
的字节码指令

这次行动是我们感兴趣的

从中,我们可以看到以下操作:

>>> my_int = 10000
>>> my_float = 10000.10000
>>> dis.dis('my_int + my_float')
  1           0 LOAD_NAME                0 (my_int)
              3 LOAD_NAME                1 (my_float)
              6 BINARY_ADD
              7 RETURN_VALUE
及以下:

此时,我们可以继续跟踪传递给或跳到的参数

从这里,我们有很好的理由相信这就是我们所寻找的:

此函数由PySequence_Concat()使用,并具有相同的 签名。尝试数字后,+运算符也会使用它 通过nb_添加插槽添加

然后,我们可以返回并查找我们的
nb\u add
调用,结果是一个变量。以下内容将指导我们进行以下工作:

...
    if (v->ob_type->tp_as_number != NULL)
        slotv = NB_BINOP(v->ob_type->tp_as_number, op_slot);
...
我们可以看到传递的参数被传递到一个
CONVERT\u to\u DOUBLE
函数。从这里,我们可以看到:

#定义转换为双精度(obj,dbl)\
if(PyFloat_检查(obj))\
dbl=PyFloat作为双精度(obj)\
else if(将_转换为_double(&(obj),&(dbl))<0)\
返回obj;

在Python中,当您使用浮点和返回浮点的int执行操作时,Python将自动处理返回浮点的操作

例如:

# Simple Bmi Calculator
# Weight (KG) / Height (M) then Answer / Height (m) = BMI


print("Hello, today we will calculate your Body Mass Index")

weight = input("How many kilo's do you weigh? ")  
weight = int  
height = input("What is your height in metres? ")  
height = int 
bmi = (weight / height / height)  
bmi = int

print("Thank you, your Body Mass Index is ")  
print(bmi)

input("\n\nPress the enter key to exit")
这里我们可以看到添加
int
float
的字节码指令

这次行动是我们感兴趣的

从中,我们可以看到以下操作:

>>> my_int = 10000
>>> my_float = 10000.10000
>>> dis.dis('my_int + my_float')
  1           0 LOAD_NAME                0 (my_int)
              3 LOAD_NAME                1 (my_float)
              6 BINARY_ADD
              7 RETURN_VALUE
及以下:

此时,我们可以继续跟踪传递给或跳到的参数

从这里,我们有很好的理由相信这就是我们所寻找的:

此函数由PySequence_Concat()使用,并具有相同的 签名。尝试数字后,+运算符也会使用它 通过nb_添加插槽添加

然后,我们可以返回并查找我们的
nb\u add
调用,结果是一个变量。以下内容将指导我们进行以下工作:

...
    if (v->ob_type->tp_as_number != NULL)
        slotv = NB_BINOP(v->ob_type->tp_as_number, op_slot);
...
我们可以看到传递的参数被传递到一个
CONVERT\u to\u DOUBLE
函数。从这里,我们可以看到:

#定义转换为双精度(obj,dbl)\
if(PyFloat_检查(obj))\
dbl=PyFloat作为双精度(obj)\
else if(将_转换为_double(&(obj),&(dbl))<0)\
返回obj;

在Python中,当您使用浮点和返回浮点的int执行操作时,Python将自动处理返回浮点的操作

例如:

# Simple Bmi Calculator
# Weight (KG) / Height (M) then Answer / Height (m) = BMI


print("Hello, today we will calculate your Body Mass Index")

weight = input("How many kilo's do you weigh? ")  
weight = int  
height = input("What is your height in metres? ")  
height = int 
bmi = (weight / height / height)  
bmi = int

print("Thank you, your Body Mass Index is ")  
print(bmi)

input("\n\nPress the enter key to exit")
这里我们可以看到添加
int
float
的字节码指令

这次行动是我们感兴趣的

从中,我们可以看到以下操作:

>>> my_int = 10000
>>> my_float = 10000.10000
>>> dis.dis('my_int + my_float')
  1           0 LOAD_NAME                0 (my_int)
              3 LOAD_NAME                1 (my_float)
              6 BINARY_ADD
              7 RETURN_VALUE
及以下:

此时,我们可以继续跟踪传递给或跳到的参数

从这里,我们有很好的理由相信这就是我们所寻找的:

此函数由PySequence_Concat()使用,并具有相同的 签名。尝试数字后,+运算符也会使用它 通过nb_添加插槽添加

然后,我们可以返回并查找我们的
nb\u add
调用,结果是一个变量。以下内容将指导我们进行以下工作:

...
    if (v->ob_type->tp_as_number != NULL)
        slotv = NB_BINOP(v->ob_type->tp_as_number, op_slot);
...
我们可以看到传递的参数被传递到一个
CONVERT\u to\u DOUBLE
函数。从这里,我们可以看到:

#定义转换为双精度(obj,dbl)\
if(PyFloat_检查(obj))\
dbl=PyFloat作为双精度(obj)\
else if(将_转换为_double(&(obj),&(dbl))<0)\
返回obj;

在Python中,当您使用浮点和返回浮点的int执行操作时,Python将自动处理返回浮点的操作

例如:

# Simple Bmi Calculator
# Weight (KG) / Height (M) then Answer / Height (m) = BMI


print("Hello, today we will calculate your Body Mass Index")

weight = input("How many kilo's do you weigh? ")  
weight = int  
height = input("What is your height in metres? ")  
height = int 
bmi = (weight / height / height)  
bmi = int

print("Thank you, your Body Mass Index is ")  
print(bmi)

input("\n\nPress the enter key to exit")
这里我们可以看到添加
int
float
的字节码指令

这次行动是我们感兴趣的

从中,我们可以看到以下操作:

>>> my_int = 10000
>>> my_float = 10000.10000
>>> dis.dis('my_int + my_float')
  1           0 LOAD_NAME                0 (my_int)
              3 LOAD_NAME                1 (my_float)
              6 BINARY_ADD
              7 RETURN_VALUE
及以下:

此时,我们可以继续跟踪传递给或跳到的参数

从这里,我们有很好的理由相信这就是我们所寻找的:

此函数由PySequence_Concat()使用,并具有相同的 签名。尝试数字后,+运算符也会使用它 通过nb_添加插槽添加

然后,我们可以返回并查找我们的
nb\u add
调用,结果是一个变量。以下内容将指导我们进行以下工作:

...
    if (v->ob_type->tp_as_number != NULL)
        slotv = NB_BINOP(v->ob_type->tp_as_number, op_slot);
...
我们可以看到传递的参数被传递到一个
CONVERT\u to\u DOUBLE
函数。从这里,我们可以