相关疑难解决方法(0)

访问python int literals方法

由于一切都是python中的对象,甚至是文字,我们通常被允许直接在文字上调用方法.

例如:

'hello'.upper()
Run Code Online (Sandbox Code Playgroud)

从理论上讲,对于int literals来说,似乎应该允许同样的事情

例如:

4.bit_length()
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我不知道为什么.有任何想法吗?谢谢!

python syntax integer object literals

22
推荐指数
0
解决办法
689
查看次数

为什么我不能直接在int对象上调用方法?

可能重复:
访问python int literals方法
Integer literal是Python中的一个对象?

在python中,调用方法或直接在文字上查找属性是可能的,有时甚至是常见的:

>>> "-".join("abc")
'a-b-c'
>>> {1: 3, 2: 9}.pop(1)
3
>>> 3j.imag
3.0
>>> 8.0.__add__(8)
16.0
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这不适用于整数对象:

>>> 3.__add__(42)
  File "<stdin>", line 1
    3.__add__(42)
            ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

为什么不?

python

4
推荐指数
1
解决办法
241
查看次数

标签 统计

python ×2

integer ×1

literals ×1

object ×1

syntax ×1