随笔 - 26  文章 - 0 评论 - 0 trackbacks - 0

定义tuple(1,)

定义默认参数要牢记一点:默认参数必须指向不变对象!

 

>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代

Python内置的enumerate函数可以把一个list变成索引-元素对
for循环其实可以同时使用两个甚至多个变量,比如dictitems()可以同时迭代key和value:

凡是可作用于for循环的对象都是Iterable类型;

凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

集合数据类型如listdictstr等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象



当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数:
 返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。
如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象的所有属性和方法

等价
>>> len('ABC')
3
>>> 'ABC'.__len__()
3


posted on 2018-11-14 10:09  AlanE  阅读(43)  评论(0编辑  收藏