在Python 2.4中确定非字符串输入参数是十六进制还是十进制

时间:2013-11-11 23:33:39

标签: python-2.4

我有一个使用Python的套接字函数来获取的程序 网络数据对象(NDO)。该函数需要NDO_ID作为输入 论点。我想让这个函数接受Decimal中的arg 或十六进制。如果我强制用户仅将ID作为字符串输入,则全部为 好。我宁愿给用户更多的灵活性。我需要 运算符在任何十六进制值之前放置一个0x以允许该函数 能说出差异。当值Ndo_ID = 0x35f330时 输入后,我的函数尝试确定值是十六进制还是十进制。

当我的函数接受Ndo_ID变量时,python已经转换了 它的十进制值为3535664.如你所见,我无从说明 如果这是原始输入或python转换的输入。我已经做好了 在网络上进行多次搜索,除了字符串操作外什么都没找到。 我需要一种方法来确定原始的非字符串输入值是否为十六进制。

以下是我的尝试:

Ndo_ID的输入值= 0x35f330

Ndo_ID = str(Ndo_ID)#Output是'3535664'

Ndo_ID = Ndo_ID #Output是'3535664'

repr(Ndo_ID)#Output是'3535664'

type(0x35f330)== type(3535664)#Output为True

type(0x35f330)== type'int'

type(3535664)== type'int'

感谢您提前提供任何帮助。

0 个答案:

没有答案