博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python2.7中不同类型之间的比大小
阅读量:6428 次
发布时间:2019-06-23

本文共 672 字,大约阅读时间需要 2 分钟。

 

 

 

可以看到,字符串为空的时候也比数字类型大,这是因为python2.7中按照如下规则进行比较:

1、任何两个对象都可以比较。

2、相同类型的对象(实例),如果是数字型(int/float/long/complex),则按照简单的大小来比较;如果是非数字型,且类(型)中定义了__cmp__(含__gt__,__lt__等)则按照__cmp__来比较,否则按照地址(id)来比较

3、不同类型的对象(实例),如果其中一个比较对象是数字型(int/float/long/complex等),则数字型的对象<其它非数字型的对象;

     并且如果两个都是非数字型的对象,则按照类型名的顺序比较, tuple () > str > list [ ] > dict {} > number

4、对于自定义的类(型)实例,如果继承自基本类型,则按照基本类型的规则比较(1-3)。否则,old-style class < new-style class, new-style class之间按照类型名顺序比较,old-style class之间按照地址进行比较

5、bool类型是int的子类,且True=1, False=0,比较时按照1-4来比较,如True > -1, True < 4.2, True < "abc"等

 

 

 所以2.7如果没注意类型的话可能踩坑:‘3’ > 300 // true

 

python 3.X 不支持str和数字类型对比,会报异常

 

转载于:https://www.cnblogs.com/yourstars/p/8204496.html

你可能感兴趣的文章
利用Windows Server Backup功能备份活动目录
查看>>
RAC维护手记08-ASM磁盘组信息查看常用命令
查看>>
实验08 磁盘和文件系统管理
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
FastDFS整合nginx后,nginx一直报错
查看>>
使用Fuel安装OpenStack juno之三使用OpenStack创建云主机和Volume
查看>>
zabbix安装源
查看>>
Eclipse+kafka集群 实例源码
查看>>
Vijos 1067Warcraft III 守望者的烦恼
查看>>
SQL语句
查看>>
LinkedList
查看>>
Python number
查看>>
【Lv1-Lesson008】A Guide to Birthdays
查看>>
MySQL_PHP学习笔记_2015.04.19_PHP连接数据库
查看>>
juery 选择器 选择多个元素
查看>>
【新手向】TensorFlow 安装教程:RK3399上运行谷歌人工智能
查看>>
Oracle Net Configuration(监听程序和网络服务配置)
查看>>
c语言_判断例子
查看>>
ubuntu重启不清除 /tmp 设置
查看>>