python基础面试题(一)

鉴于python中有一些值得注意的细节问题,做一个记录,也为了各位同学能注意一些细节

a=2
b=2
a is b # 运行结果是?

解析: 不论在python原生解释器还是pycharm中,结果都是True,
但是在python原生解释器中,ab的值范围只限定在[-5,256]范围内,而pycharm中则没有限制

第二题

a = (1,2)
b = (1,2)
print(a is b)  # True
c = (1,2,[1,2])
d = (1,2,[1,2])
print(c is d) # False
print(c == d) # True
aa = [1, 2]
e = (1, 2, aa)
f = (1, 2, aa)
print(e is f) # False
print(e == f) # True

第三题 小数运算

print(1.3-1.2 == 1.4-1.3)  

解析:False, 因为计算机算不准小数

print(1.0000001 == 1.000000100) # Ture
# 在pycharm中, 这里可以看出python的精度,精确到小数点14位,从第15就无足轻重了
print(1.000000000000001 == 1.0000000000000011) # True
print(1.00000000000001 == 1.000000000000011) #False 

所以在数据库中,关于钱的存储用decimal

猜你喜欢

转载自blog.csdn.net/xiaoxiaodechongzi/article/details/106019719