6 小结

  • Python 赋值和参数传递使用对象引用,例如如果a是一个列表,我们分配b = a,然后任何a上的操作都将修改b,反之亦然。
  • is操作测试是否两个对象是相同的内部对象,而==测试是否两个对象是相等的。两者的区别和词符与词类型的区别相似。
  • 字符串、列表和元组是不同类型的序列对象,支持常见的操作如:索引、切片、len()sorted()和使用in的成员测试。
  • 声明式的编程风格通常会产生更简洁更可读的代码;手动递增循环变量通常是不必要的;枚举一个序列,使用enumerate()
  • 函数是一个重要的编程抽象,需要理解的关键概念有:参数传递、变量的作用域和文档字符串。
  • 函数作为一个命名空间:函数内部定义的名称在该函数外不可见,除非这些名称被宣布为是全局的。
  • 模块允许将材料与本地的文件逻辑的关联起来。一个模块作为一个命名空间:在一个模块中定义的名称——如变量和函数——在其他模块中不可见,除非这些名称被导入。
  • 动态规划是一种在 NLP 中广泛使用的算法设计技术,它存储以前的计算结果,以避免不必要的重复计算。