您可能已经听说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)