当前位置: 首页 > 面试题库 >

Python控制台默认的十六进制显示

耿星雨
2023-03-14
问题内容

我正在Python控制台中进行大量工作,其中大部分是指地址,我希望以十六进制形式查看。

因此a = 0xBADF00D,如果我只是进入Python> a控制台以查看其值时,我希望python用0xBADF00D代替195948557

我知道我可以输入'0x%X' % a以十六进制形式查看它,但是我正在寻找某种python控制台选项来使其自动执行此操作。像这样的东西存在吗?谢谢!


问题答案:

常规Python解释器将调用sys.displayhook来真正显示您输入的表达式。您可以将其替换为可以完全显示所需内容的内容,但要记住,交互式解释程序要显示的
所有 表达式都将调用它:

>>> import sys
>>> 1
1
>>> "1"
'1'
>>> def display_as_hex(item):
...     if isinstance(item, (int, long)):
...         print hex(item)
...     else:
...         print repr(item)
...
>>> sys.displayhook = display_as_hex
>>> 1
0x1
>>> "1"
'1'

我怀疑您会很快就厌倦了将 所有 整数视为十六进制,而改用相应地显式转换要查看的整数。



 类似资料:
  • 问题内容: 如何将十进制转换为以下格式的十六进制(至少两位,零填充,没有0x前缀)? 输入: 输出: 输入: 输出: 我尝试过,但似乎它显示了第一个示例,但没有显示第二个示例。 问题答案: 将该功能与格式一起使用。 该部分要求使用至少2位数字,并使用零将其填充到长度,表示小写的十六进制。 的 格式规范的迷你语言 也给你大写十六进制输出,并且可以前缀字段宽度与以包括或前缀(取决于你阉羊使用或作为格式

  • Python3 实例 以下代码用于实现十进制转二进制、八进制、十六进制: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec

  • 问题内容: 我这里有一个将十进制转换为十六进制的函数,但它以相反的顺序打印。我该如何解决? 问题答案: 如果要自己编写此代码而不是使用内置函数,则可以在打印当前数字之前简单地进行递归调用:

  • 两周以来,我一直在努力和阅读来解决这个问题,但我尝试的一切都没有奏效:-( 我正在使用python 2.7。 据我所知,我确实有一个base64字符串,格式如下: 我想把它转换成十六进制字符串。00000000194BD636AEDEAE4C9827C9465288D7F40700BA89A9BA12E1314B81606DB385F3B7B100000074656E0000BA89A9BA12E

  • 问题内容: 如何将RGB格式的颜色转换为十六进制格式,反之亦然? 例如,转换为。 问题答案: 注 :这两个版本的期待整数值,并且,所以你需要,如果你有非整数值做自己的舍入。 以下将执行RGB到十六进制的转换,并添加任何所需的零填充: 转换另一种方式: 最后,在答案中讨论并在@cwolves的评论中建议使用的替代版本: 更新 这是它的一个版本,还解析了一个速记的三元组,例如“#03F”:

  • 主要内容:二进制,八进制,十六进制我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。 例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。 因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做 十进制(Decimalism)。十进