Python类型转换后结合print赋值为何得到NoneType类型变量?
问题解答:为什么加print后变量类型变成NoneType
Python中print()是无返回值函数,它的唯一作用是将传入的参数输出到控制台,执行完成后默认返回None(Python中表示空值的特殊对象,类型为NoneType)。
两段代码的差异逻辑如下:
- 第一段代码执行逻辑:
first_digit = print(int(two_digit_number[0])) print(type(first_digit))
执行顺序是:
- 先计算
int(two_digit_number[0]),得到int类型的数字结果 - 将这个数字传入
print()函数,控制台会打印出该数字 print()执行完成后返回None,最终将None赋值给first_digit变量,所以打印类型时得到NoneType
- 第二段代码执行逻辑:
first_digit = int(two_digit_number[0])
没有经过print()函数处理,直接将int转换后的结果赋值给变量,所以变量类型就是int。
你可以运行下面的代码直观验证print()的返回值:
result = print("测试输出") print(result) # 这里会打印None
内容的提问来源于stack exchange,提问作者TechNewbie
相关产品推荐
相关产品推荐

