1. 第一类对象, 函数名的使用

 函数名就是变量名, 函数名存储的是函数的内存地址

 变量的命名规范:
  1. 由数字, 字母, 下划线组成
  2. 不能是数字开头, 更不能是纯数字
  3. 不能用关键字
  4. 不要太长
  5. 要有意义
  6. 不要用中文
  7. 区分大小写
  8. 驼峰或者下滑线



2. 闭包
  闭包: 在内层函数中引入外层函数的变量
  作用:
    1. 保护变量不受侵害(javascript)
    2. 让一个变量常驻内存



3. 迭代器
  dir() 查看变量能够执行的方法(函数)
  Iterator: 迭代器, __iter__(), __next__()
  Iterable: 可迭代的, __iter__()

 

for循环的流程:
it = lst.__iter__()
while 1:
  try:
    el = it.__next__()
    for循环的循环体
  except StopIteration:
  break
从迭代器中获取数据的唯一方法: __next__()

三个特征:
1. 省内存
2. 惰性机制
3. 只能往前. 不能后退