QVS*_*VSJ 2 python int python-3.x
print(type(1))
print(type((1)))
Run Code Online (Sandbox Code Playgroud)
给我
<class 'int'>
Run Code Online (Sandbox Code Playgroud)
也
print(id(1))
print(id((1)))
Run Code Online (Sandbox Code Playgroud)
给我
1555424112
1555424112
Run Code Online (Sandbox Code Playgroud)
然而(1)被认为是一个1不存在的实例?例如,做一个(1).在编辑器中我得到了很多的方法,比如bit_length,conjugate,__add__()等,但不这样做1.
这种区别的原因是什么?
Mar*_*ers 13
(..)只是组织一个表达.对于整数,它还具有副作用,即浮点小数的.字符可以从属性访问运算符中消除歧义..
所以
1.bit_length()
Run Code Online (Sandbox Code Playgroud)
是语法错误,因为bit_length它不是实数的有效非整数部分.但
(1).bit_length()
Run Code Online (Sandbox Code Playgroud)
是有效的Python语法,因为现在解析器不会将.标记视为数字文字的一部分.
或者,添加一个空格:
1 .bit_length()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |