来自unicodedata文档:
unicodedata.digit(chr[, default]) 以整数形式返回分配给字符 chr 的数字值。如果没有定义这样的值,则返回默认值,或者,如果没有给出,则引发 ValueError。
unicodedata.numeric(chr[, default]) 返回分配给字符 chr 的数值作为浮点数。如果没有定义这样的值,则返回默认值,或者,如果没有给出,则引发 ValueError。
有人能解释一下这两个功能之间的区别吗?
在这里,可以阅读这两个函数的实现,但对我来说,与快速查看有什么区别并不明显,因为我不熟悉 CPython 实现。
编辑 1:
一个显示差异的例子会很好。
编辑2:
示例有助于补充@user2357112 的评论和精彩回答:
print(unicodedata.digit('1')) # Decimal digit one.
print(unicodedata.digit('?')) # ARABIC-INDIC digit one
print(unicodedata.digit('¼')) # Not a digit, so "ValueError: not a digit" will be generated.
print(unicodedata.numeric('?')) # Roman number two.
print(unicodedata.numeric('¼')) # Fraction to represent one quarter.
Run Code Online (Sandbox Code Playgroud) 我想知道如何获取所有希腊字符(大写和小写字母)的列表。我知道如何查找特定字符(unicodedata.lookup(name)),但是我希望所有大写和小写字母。
有什么办法吗?