python中,a=10.0 b=10.0 a is b 为啥输出是false
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中,a=10.0 b=10.0 a is b 为啥输出是false相关的知识,希望对你有一定的参考价值。
参考技术A ais
b
比较的是变量a与变量b的内存地址是否相同,即
id(a)==id(b)
Python的内置函数id就是用来查看变量地址的
id(a)等于id(b)说明变量a和变量b指向的是同一个内存空间。
Python中整数、浮点数都是immutable,也就是创建以后不能改变内存空间的值,对变量重新赋值以后,相当于变量重新指向了另外一处内存空间。
a = 10
print id(a)
a = a + 1
print id(a) #id(a)的值会反生变化
这样,多个变量指向相同的内存空间就不会有影响,反而节省了内存的占用。
然而具体是否相同值的变量就占有相同内存空间,完全有Python的实现方式决定。
当变量a与b的值到1000时,你会发现他们的内存空间又不一样了
a = 1000
b = 1000
id(a) == id(b)
a is b
总的来说写程序是一般不用关注变量的内存空间地址,也很少使用is命令
python输入eval
eval内置函数
下面是算法中常见的输入 1 2 3 接受到 a b c 中
a,b,c=input().split() a,b,c=eval(a),eval(b),eval(c) d=b*b-4*a*c print(d)
或者是这样接受
a,b,c=map(int,input().split()) print(b*b-4*a*c)
输出的时候(print, 会自动加一个空格)
以上是关于python中,a=10.0 b=10.0 a is b 为啥输出是false的主要内容,如果未能解决你的问题,请参考以下文章
windows10+Python3.6+Anaconda3+tensorflow1.10.0???????????????
Python Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)
iOS10.0 TabBar Bug(底部同时展示原生和自定义tabBar)-b
安装python 第三方库遇到的安装问题 microsoft visual studio c++ 10.0 is required,Could not find function xmlCheckVe