浮点型float与整型integer相同?

代码如下:
name = 8 / 2
print(name)
myname = 8 // 2
print(myname)
if name == myname:
print('我们都一样')
else:
print('我们不一样')
print(type(name))
print(type(myname))

输出如下:
4.0
4
我们都一样
<class 'float'>
<class 'int'>

这个比较是比较的值是否相同,而不包含类型的判断

a = 8/2
b = 8//2
if type(a) is type(b):
print("我们都一样。")
else:
print("我们不一样。")
print(type(a))
print(type(b))

type()可以获取类型,获取后才能进行类型比较。

比较前,程序内部应该是把整数强制转为了浮点数,然后在比较的 整数4强制转换后就是4.0
print(name is myname) #false
用is就会考虑类型问题。

  1. 0和4值相等不奇怪啊