以下是作为有Java背景的人阅读《Python基础教程》做得一些笔记。
区间比较
python支持类似数学上的区间比较
age = 22 0 < age < 100
列表比较
比较有趣的功能,免得自己写循环比较了
[1, 2, 3] < [1, 2, 4] # True [1, [2, 3]] < [1, [2, 5]] # True
“三元表达式”
使用or或者之前python tip 1时候评论中提到的ifelse语句。
x = 'foo' a = x or 'bar' b = x if x else 'bar'
遍历字典
key和value一起遍历
d = {'a': 1, 'b': 2} for k, v in d.items(): print k, '=>', v
zip列表合并
个人学过haskell和scala,所以不是很陌生
a = [1, 2, 3] b = ['a', 'b', 'c'] zip(a, b) #[(1, 'a'), (2, 'b'), (3, 'c')]
带序号的列表遍历
简单的方法是另外用一个i做计数,这个在Java里用加强for也是一样的,不过可以用python内建的enumerate方法
a = ['a', 'b', 'c'] for i, x in enumerate(a): print '#%d: %s' % (i, x) for i, x in zip(xrange(len(a)), a): print '#%d: %s' % (i, x)
第二种方法其实是从haskell等函数式语言中学来的,带序号其实就是zipWithIndex,不过enumerate更简单
reload你的模块
在console中调试开发很有用
import mymodule reload(mymodule)
显示函数的帮助信息
原先是module.method.__doc__看的,其实有内建函数可以直接看,在console中输入
help(zip) help(enumerate) help(xrange)
好了,以上就是今天学到的内容,其实多了解些python的特性还是听不错的。