相关疑难解决方法(0)

为什么"1.real"是语法错误但"1 .real"在Python中有效?

所以我在twitter上看到了这两个 问题.如何1.real语法错误但1 .real不是?

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

python

31
推荐指数
2
解决办法
1834
查看次数

访问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
查看次数

为什么围绕一个整数需要括号来调用它上面的方法?

这不起作用.

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

但这很有效.

>>> (10).__str__()
'10'
Run Code Online (Sandbox Code Playgroud)

为什么围绕整数需要括号才能调用其方法?列表或其他数据类型似乎不需要它.

>>> [1, 2].__str__()
'[1, 2]'
>>> {'a': 'foo'}.__str__()
"{'a': 'foo'}"
Run Code Online (Sandbox Code Playgroud)

python syntax

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

对整数调用方法失败,不在浮点数上

我注意到整数的一个相当奇怪的行为,例如,它不适用于浮点数或小数:

In [205]: 10.__add__
File "<ipython-input-205-24ed61a2ee18>", line 1
10.__add__
         ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

浮点数或小数不会发生这种情况:

In [211]: Decimal(10).__add__
Out[211]: <bound method Decimal.__add__ of Decimal('10')>

In [204]: 10.3.__add__
Out[204]: <method-wrapper '__add__' of float object at 0x7fb48c60f840>
Run Code Online (Sandbox Code Playgroud)

python integer python-2.7

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

标签 统计

python ×4

integer ×2

syntax ×2

literals ×1

object ×1

python-2.7 ×1