• Python中的比较操作


    Python中的比较操作也比较奇葩呀!

    • 比较操作符是没有优先级的,不比c语言
    • 可以是一个串,a<b<c等价于a<b and b<c
    • 不同类型的值也可以判等,只不过不同类型总是不相等
    • 不同类型的值使用<,>等符号时,会报错,type error
    • NaN值比较特殊,任何值与它相比,都会是False
    • string和bytes是不能比较的
    • tuple和list也可以判断相等和比较,但是按照顺序依次比较,另短的更小
    • map(dict)可以判断相等,除非他们的key,value都相等,但不能比较大小
    • set的比较操作意味着是否是子集或超集
    • in,not in 是判断是否是成员,基本所有都可以用了
    • 自定义的类,如果实现了__contains_()函数,in会根据这个函数判断,相当于y.__contains(x)
    • 自定义的类,如果实现了__iter__()和一个老的方式__getitem__()也会影响in的判断
    • is,not is 就是判断两个object是否相等了

    参考

    https://docs.python.org/3.1/reference/expressions.html#in

    看完了发现3.8的文档更好些

    https://docs.python.org/3.8/reference/expressions.html#in

  • 相关阅读:
    面向对象(2)
    毕业季面试题(7)
    面向对象(class0420)
    ASP.NET入门(class0612)
    数据结构与算法(二叉树)
    算法总结(2)数据结构
    毕业季面试题(6)
    常规页生命周期(class0620)
    (三) 语句
    (二) 运算符
  • 原文地址:https://www.cnblogs.com/huoqs/p/14204471.html
Copyright © 2020-2023  润新知