Python中单独执行int()转换无法修改变量数据类型的原因咨询
Python int()类型转换不生效的原因
Python中的int()是值返回型函数,不会修改传入的参数本身,只会生成并返回一个转换格式后的新值,如果你没有将返回值赋值给变量,转换结果会被直接丢弃,自然无法修改原有变量的类型。
针对你代码里的三种写法,分别解释如下:
- 第一种写法可以生效:
first_num = int(two_digit_number[0])
你将int()转换后返回的整型值,直接赋值给了first_num变量,相当于替换了变量指向的原始值,变量类型自然变为int。
- 第二种写法不生效:
int(first_num)
你只调用了int()函数生成了转换后的整型值,但没有将这个值赋值给任何变量,转换结果运行后直接被回收,first_num指向的还是原来的值,所以类型不会发生变化。如果你需要通过单独语句修改变量类型,要写成赋值格式:
first_num = int(first_num)
- 第三种写法可以生效:
print(int(first_num) + int(second_num))
这里你没有修改原变量,只是把int()返回的临时整型值直接用来做相加运算,用的是函数返回的新值做计算,所以可以正常得到数值相加的结果。
内容的提问来源于stack exchange,提问作者Marblerouter
相关产品推荐
相关产品推荐

