Python碎片小知识点总结

A. 这是一篇总结贴

Python入门快,用起来也快,也容易让人有种自己真的几天内掌握了python一样,其实还有挺多小细节值得注意的,理解它们可以加快效率,对python整体有个正确的认识。
这篇博客里列举的都是我自己觉得自己掌握得不够牢固的东西,如果有帮助就很好啦,反之不喜勿喷~thx

B. 内容

  1. is和==的区别?
    这挺像Java里的equals和==的区别,不过是反过来的。python里的is比较的是两个对象的id是否相同,其实就是对象所在的地址啦,然后==比较的是对象的内容是否相同,所以下面这段代码的输出,不难看出来吧?
[a, b] = (233, 233.0)
print(a == b)
print(a is b)
print(id(a), id(b))

我的电脑上输出:

True
False
(33325568, 33357480)

参考:http://my.oschina.net/cprime/blog/501

  1. 文件读写

  2. range和xrange
    range(end, start=0, step=1)返回的是一个完整的list,而xrange则只是返回一个迭代器,迭代的时候才会逐步产生列表的内容。
    区别是挺明显的,一个是内存的考虑,一个是效率的考虑,我个人倾向于xrange的做法。不过这个问题在python3里已经统一起来了——统一都是迭代器,所以就没有了xrange了,所以只剩下一个range了。

  3. dict的使用
    【未完待续】

你可能感兴趣的:(Python碎片小知识点总结)