Python学习笔记(一)

Python 三目运算符 bool ? a : b 表达式

在python中没有类似java和C语言中的bool?a:b表达式,但是有变通实现的语句:

print x if x<0 else y

另一种实现使用 and-or

and-or主要是用来模仿 三目运算符 bool?a:b的,即当表达式bool为真,则取a否则取b,and-or 技巧,bool and a or b 表达式,当 a 在布尔上下文中的值为假时,不会像 C 语言表达式 bool ? a : b 那样工作。所以我们需要一种安全的形式使用and-or:

>>> a=""

>>> b="second"

>>> (1 and [a] or [b])

['']

>>> (1 and [a] or [b])[0]

''

由于 [a] 是一个非空列表,所以它决不会为假。即使 a 是 0 或者 '' 或者其它假值,列表 [a] 也为真,因为它有一个元素。


xrange 和 range

语法:range(stop)

语法:range(start,stop[,step])

xrange与range语法相同,但性能更好,更快更节省内存。

range返回一个List。而xrange返回一个对象。xrange 比 range性能更好。推荐使用xrange替换range。

for num in xrange(10):

     print(num)

你可能感兴趣的:(Python学习笔记(一))