python中的数字n和(n)有什么区别
给我python中的数字n和(n)有什么区别,python,python-3.x,int,Python,Python 3.x,Int,给我 print(type(1)) print(type((1))) print(id(1)) print(id((1))) 给我 print(type(1)) print(type((1))) print(id(1)) print(id((1))) 但是,(1)被识别为一个实例,而as1不是? 例如,在执行(1)时。在编辑器中,我得到了很多方法,例如位长度,共轭,添加等,但不是在执行1时 区别的原因是什么?(…)仅对表达式进行分组。对于整数,它还有一个副作用,即浮点小数的字符可以从属性
print(type(1))
print(type((1)))
print(id(1))
print(id((1)))
给我
print(type(1))
print(type((1)))
print(id(1))
print(id((1)))
但是,(1)
被识别为一个实例,而as1
不是?
例如,在执行(1)
时。在编辑器中,我得到了很多方法,例如位长度
,共轭
,添加
等,但不是在执行1
时
区别的原因是什么?(…)
仅对表达式进行分组。对于整数,它还有一个副作用,即浮点小数的
字符可以从
属性访问运算符中消除歧义
所以
是一个语法错误,因为位长度
不是实数的有效非整数部分。但是
1.bit_length()
是有效的Python语法,因为现在解析器不会将
标记作为数字文本的一部分
或者,添加一个空格:
(1).bit_length()
n和(n)是相同的表达式
但是要注意这个(n,)是一个元素的元组
id()不是比较表达式的方法。它告诉你如果
您的对象是同一个对象。Python处理的是小数目
特别是id()在任何python会话中都是相同的
所以你会有这种行为:
id()与is(1+1-1)的id(1)相同
但是对于较大的数字,id()会发生变化
使用==进行表达式比较。要打印它,只需 Print(n1-n2)请参见整数为何会有这种行为。
1 .bit_length()
>>> id(1),id(1+1-1)
(140246128484064, 140246128484064)
>>> id(3000000),id(3000000+1-1)
(140246130143120, 140246129522640)