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