zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    第七周总结
    第六周编程总结
    第五周编程总结
    选择加冒泡排序法与找鞍马之总结与感受
    上三角矩阵与数组中元素之和最大
    文件的读写
    打印沙漏
    第八周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/huoqs/p/14204471.html
Copyright © 2011-2022 走看看