Python访问int文字的属性

示例

您可能已经听说Python中的所有内容都是对象,甚至是文字。例如,这也意味着7也是一个对象,这意味着它也具有属性。例如,这些属性之一是bit_length。它返回表示被调用的值所需的位数。

x = 7
x.bit_length()
# 出:3

看到上面的代码有效,您可能会直观地认为这也会起作用,只是发现它会引发一个。为什么?因为解释器需要区分属性访问和浮点数(例如或)。不能,这就是引发异常的原因。7.bit_length()SyntaxError7.27.bit_length()

有几种访问int文字属性的方法:

# 插入语
(7).bit_length()
# 空间
7 .bit_length()

在这种情况下,不能使用两个点(像这样),因为这会创建一个文字,而浮点数则没有该方法。7..bit_length()floatbit_length()

当访问float文字的属性时,此问题不存在,因为该插入符“很聪明”,足以知道一个float文字不能包含两个.,例如:

7.2.as_integer_ratio()
# 出:(8106479329266893,1125899906842624)