cs-ae_zxx 2021-08-30 15:26 采纳率: 100%
浏览 28
已结题

Python isinstance()含逻辑or的小问题

请教一个小问题,如下图所示,为什么[64]和[65]的结果不一样?
img
不知道这是isinstance()的问题还是逻辑or的问题?or是不是应该从左至右若满足其一,则结果就为True?
感谢。

  • 写回答

1条回答 默认 最新

  • 咕泡-三木 2021-08-30 15:54
    关注

    几个知识点:

    1. isinstance 接受2个参数,第一个参数是变量,第二个参数是类型 ,这是固定的,和ro什么的没关系
    2. 逻辑短路,or运算中,如果左边的变量为真,那么就直接返回左边的变量,比如int or float的结果是intfloat or int 的结果是float

    下面来看代码
    第一个:
    isinstance(1,float or int ) 等于 isinstance (1, float ),结果当然为假

    第二天:
    isinstance(1, int or float) 等于 isinstance (1, int),结果当然为真

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月7日
  • 已采纳回答 8月30日
  • 修改了问题 8月30日
  • 创建了问题 8月30日