list也可以直接做加法
a=[1,2]
a+[3] #a=[1,2,3]
lambda用来定义匿名函数
lambda x:x/2.0 #\lambda(x)=x/2.0
平方是用**
student torture不理解
for可以各种嵌套
ppl = ['Alice', 'Bob', 'Carol', 'Doug']
excited_ppl = [e + '!!' for e in ppl]
ppl_len = [len(x) for x in ppl]
生成器函数在Python中与迭代器协议的概念联系在一起。简而言之,包含yield语句的函数会被特地编译成生成器。当函数被调用时,他们返回一个生成器对象,这个对象支持迭代器接口。函数也许会有个return语句,但它的作用是用来yield产生值的。
不像一般的函数会生成值后退出,生成器函数在生成值后会自动挂起并暂停他们的执行和状态,他的本地变量将保存状态信息,这些信息在函数恢复时将再度有效
在自变量表中,*rest用来传值,用**kvrest用来传kv pair key=value
nonlocal 后面定义了局部变量
metaclass不太懂,是因为对class的构建过程不理解
class的教程在http://www.w3cschool.cc/python/python-object.html
http://www.w3cschool.cc/python/python-tutorial.html也是不错的教程