print 和 import的更多信息
- 逗号
>>> a='you'
>>> print a,'are','good' you are good
如果结尾处加上逗号,接下来的语句会与前一条的语句在同一行。
print 'good ', print 'morning'
会输出‘good morning’ - 导入重命名
from module import open as open1
赋值
- 序列赋值
x,y=y,x
key,value=a.popitem
- 链式赋值
x=y=somefuntion()
条件语句
布尔变量
下面的值在作为布尔表达式时,会被当作‘false’:
False None 0 '' () [] {}
>>>bool(2) True
is:同一性运算符
和==(相等性运算符)不同短路逻辑和条件表达式
表达式x or y,如果x为假,直接返回x的值,否则返回y的值
表达式x or y,如果x为真,直接返回x的值,否则返回y的值
name =raw_input('enter your name') or 'strange'
条件表达式:
a if b or c
如果b成立,则执行a,否则执行c断言
assert a,'the mistake is a'
如果表达式a为假,则程序崩溃,字符串解释断言
循环
for 迭代工具
1, 并行迭代
for name,age in zip(names,ages) pass
2, 按索引迭代
for index,elem in enumerate( list1 ) pass
3, 翻转排序迭代
reversed()和sorted()循环中的else
再循环后面可以加上else语句,如果循环中没有执行break的话,会执行该语句。
for x in a: if x>1: break else: print'全部小于1'
列表推导式
利用其他列表创建新的列表
[(x,y) for x in range(3) for y in range(3) if x==y]
执行和求值字符串中的python语句
1, exec
scope={} exec 'a=1' in scope
2, eval
scope={} eval (raw_input(enter an experssion:),scope)