我有一个使用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'
感谢您提前提供任何帮助。