You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Jupyter Notebook中执行type(x)仅输出str,未输出int?

为什么Jupyter Notebook只输出最后一个type()的结果?

这问题我太熟啦!在Jupyter Notebook里出现这种情况,核心原因是它的单元格输出规则在起作用~

咱们先拆解你的代码:x=1; type(x); x="sss"; type(x),你把四条语句用分号挤在了一行里,但Jupyter的单元格执行逻辑是:

  • 会按顺序执行所有语句,但只会自动显示最后一个有返回值的表达式的结果
  • 前面的表达式(比如第一个type(x))的返回值会被默默丢弃,不会主动输出给你

举个更直观的例子,哪怕你把代码拆成多行写:

x = 1
type(x)  # 这个结果不会显示
x = "sss"
type(x)  # 只有这个最后一个表达式的结果会被输出

你依然只会看到<class 'str'>,因为Jupyter默认只“汇报”最后一个表达式的返回值。

怎么让两个类型结果都显示出来?

有两个简单的解决办法:

  • 用print()主动输出:把每个需要查看的结果用print()包裹,强制输出内容
    x=1
    print(type(x))
    x="sss"
    print(type(x))
    
    这样就能依次看到<class 'int'>和<class 'str'>了。
  • 让多个结果成为最后一个表达式的一部分:比如把两个结果打包成元组,作为最后一个表达式
    x=1
    t1 = type(x)
    x="sss"
    t2 = type(x)
    t1, t2  # 最后输出这个元组,就能同时看到两个类型
    
    这时候会输出(<class 'int'>, <class 'str'>),也能达到目的。

另外补充个小细节:像x=1这种赋值语句本身是没有返回值的,所以哪怕你把赋值语句放在单元格最后,也不会有任何输出——只有像type(x)这种能产生返回值的表达式,才会被Jupyter自动显示哦~

内容的提问来源于stack exchange,提问作者user8693083

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:15:42