检索ctyp的最小最大值

2024-10-02 16:24:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python解析一些ASCII文本,它返回如下字符串: UI8、SI32等。。。在

基于这些字符串,我需要计算类型的最大值,并用以下字符串替换它们: 无符号字符、有符号长字符等。。。在

我在pythonctypeslib中找到了,但我无法找到如何获得maximum\minimum。在

在C++中,Python是否有一些对{{CD1>}的解释?在


Tags: 字符串文本类型ascii符号字符minimumcd1
1条回答
网友
1楼 · 发布于 2024-10-02 16:24:48

有多少条这样的线?你自己动手定义它们可能最快:

class MaxVal:
    SI8  = 2 ** 7  - 1
    UI8  = 2 ** 8  - 1
    SI16 = 2 ** 15 - 1
    UI16 = 2 ** 16 - 1
    SI32 = 2 ** 31 - 1
    UI32 = 2 ** 32 - 1
    SI64 = 2 ** 63 - 1
    UI64 = 2 ** 64 - 1

或者你可以把它们放在dict中。我把它们放在一个class的静态属性中,因为这是一种最简洁的方法,可以让你以一种“感觉像”enum常量的方式引用它们:

^{pr2}$

更具编程性的是,如果您的类型字符串是一个变量,则可以这样使用它:

dt = 'UI32'
print( getattr(MaxVal, dt) )

相应的MinVal定义留给读者作为练习。。在

相关问题 更多 >