小编给大家分享一下bool在python中引用对象的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
布尔型对象只有两个值,True和False,它们会放在缓冲池共享区,无论有多少次引用,只会创建一个对象。
c = True #变量c指向了浮点型对象,值为1.5 print("c = {}, c的地址:{}, c的类型为:{}".format(c, id(c),type(c))) d = True #浮点型对象没有共享缓冲区,会新建一个对象 print("d = {}, d的地址:{}, d的类型为:{}".format(d, id(d),type(d))) print("c和d是否为同一对象:{}".format(c is d)) #c和d指向了相同对象 print(id(c is d))
运行结果:
c = True, c的地址:4527372208, c的类型为:<class 'bool'> d = True, d的地址:4527372208, d的类型为:<class 'bool'> c和d是否为同一对象:True 4527372208
所有的True都是引用同一个对象,它们的地址都是&4527372208。同理,False也是一样。
在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
>>> True + True 2 >>> True - False 1 >>> True * False 0 >>> True / False Traceback (most recent call last): File "<stdin>", line 1, in <module> ZeroDivisionError: int division or modulo by zero
在某些地方(如 if 语句),Python 所预期的就是一个可计算出布尔类型值的表达式。这些地方称为布尔类型上下文环境。事实上,可在布尔类型上下文环境中使用任何表达式,Python 都将试图判断其真值。
以上是“bool在python中引用对象的示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。