没有深思过的python冷知识你知道几个()

关于python缓冲区引发的思考

1# 首先,定义两个数值相同的数值,查看其引用的对象是否相等。 2 3# Python 3.8.7 (tags/v3.8.7:6503f05, Dec 21 2020, 17:59:51) [MSC v.1928 64 bit (AMD64)] on win32 4# Type "help", "copyright", "credits" or "license" for more information. 5# >>> x = 190 6# >>> y = 190 7# >>> print(x is y) 8# True 9 10# 结果为True,发现两个数值的引用对象时相同的。 11 12# 其次,我们再重新赋值给 x、y ,再观察其对象引用。 13 14# >>> x = 269 15# >>> y = 269 16# >>> print(x is y) 17# False 18 19# 由此,引发了我们的思考,这其实是python的整数缓冲区导致的结果。 20# python在交互模式下,会对比较小的整数对象进行缓存([-5,256]) 21# 当我们定义的整数不在这个范围时,python会新生成一个对象,独占一个内存地址。

为什么空字符串的个数不是零呢?
1# 定义一个字符串,然后返回字符串中某个字符的个数 2# >>> str = 'abcdefg' 3# >>> print('a 的数量是:',str.count('a')) 4# a 的数量是:1 5 6# 定义一个字符串,然后返回字符串中空字符的个数 7 8# >>> print('空 的数量是:',str.count('')) 9# 空 的数量是:8 10 11# 由于python源码中,在计算长度等于零时,返回的是字符串的最大长度还要加一, 12# 因此,查找空字符的数量就是原有字符串长度=7加上1,最后返回8。

字符串并非字符串
1# >>> str2 = 'opqrst' 2# >>> str2[0] 3# 'o' 4 5# 在python中字符串可以通过其下标直接获取其中字符 6 7# 其实字符串是字符的有序集合,可以通过其位置来获得具体的元素。

【没有深思过的python冷知识你知道几个()】【粉丝福利】关注公众号,获取全套视频资料,喜欢小编点个 '关注' 吧!
没有深思过的python冷知识你知道几个()
文章图片

    推荐阅读