热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python中str和int区别_Python如何比较string和int?

从python2manual:CPythonimplementationdetail:Objectsofdifferenttypesexceptnumbersar

python 2 manual:

CPython implementation detail: Objects of different types except numbers are ordered by their type names; objects of the same types that don’t support proper comparison are ordered by their address.

当您订购两个字符串或两个数字类型时,排序是以预期的方式完成的(字符串的字典排序,整数的数字排序)。

当您订购数字和非数字类型时,数字类型优先。

>>> 5 <&#39;foo&#39;

True

>>> 5 <(1, 2)

True

>>> 5 <{}

True

>>> 5 <[1, 2]

True

当您订购两个不兼容的类型(两者都不是数字)时&#xff0c;它们按其类型名的字母顺序排序&#xff1a;

>>> [1, 2] > &#39;foo&#39; # &#39;list&#39; <&#39;str&#39;

False

>>> (1, 2) > &#39;foo&#39; # &#39;tuple&#39; > &#39;str&#39;

True

>>> class Foo(object): pass

>>> class Bar(object): pass

>>> Bar()

True

一个例外是旧式类&#xff0c;它总是在新式类之前。

>>> class Foo: pass # old-style

>>> class Bar(object): pass # new-style

>>> Bar()

False

Is this behavior mandated by the language spec, or is it up to implementors?

Otherwise, objects of different types always compare unequal, and are ordered consistently but arbitrarily.

所以这是一个实现细节。

Are there differences between any of the major Python implementations?

我不能回答这一个&#xff0c;因为我只使用官方的CPython实现&#xff0c;但还有其他的Python实现&#xff0c;如PyPy。

Are there differences between versions of the Python language?

在Python 3.x中&#xff0c;行为已经改变&#xff0c;因此尝试排序整数和字符串将引发错误&#xff1a;

>>> &#39;10&#39; > 5

Traceback (most recent call last):

File "", line 1, in

&#39;10&#39; > 5

TypeError: unorderable types: str() > int()


推荐阅读
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 2022年Python面试题一.Python基础二.企业面试题结束语🥇🥇🥇✅作者简介:大家好我是编程IDὌ ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 提升Python多环境管理效率:深入探索多Python Pip应用策略
    提升Python多环境管理效率:深入探索多Python Pip应用策略 ... [详细]
  • Python,英国发音:ˈpaɪθən,美国发音:ˈpaɪθ��ːn,空耳读法为“ ... [详细]
author-avatar
以真做假公馆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有