[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

lecture 10 containers,
课本:http://composingprograms.com/pages/21-introduction.html
http://composingprograms.com/pages/23-sequences.html
前几分钟继续lecture 9没讲完的Exercise: Tracing和装饰器部分(更新到上一篇学习笔记lecture 9了)
这节课主要是数据类型的过渡,引入序列类型和相关特性。

目录

Containers

由数字类型的数据过渡到数据容器:由其他数据组成的数据。

Simple Pairs

将一对数值表示成一个单独的数值:

  • Construct new pairs from two values.
  • Select one or the other of the two values used to construct the pair.
    [2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Fun Side Trip: Pairs of Integers

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Another Representation

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Adding Mutability

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Attempt #1

注意a, b不是pair_func frame中的变量,不能在其中重新赋值,需要nonlocal。
[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Nonlocal

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Attempt #2

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Sequences 序列

以上基于函数的containers很复杂且效率低,python提供了更方便的表示方式-序列(以下内容python语言设计基础课程一般都有讲解,也可以查询菜鸟教程)。

  • 序列可以是有限的,也可以是无限的。
  • 序列可以是可变的,也可以是不可变的。
  • 序列可以是加索引的:元素可以通过索引获取
  • 序列可以是可迭代的:值可以从头到尾依次获取
    [2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Python’s Sequences

python的序列类型:元组、列表、字符串、range、迭代器和生成器。
(集合类型:集合和字典)
[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Construction 结构

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

String Literals 字符串

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Selection and Slicing 索引和切片

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Sequence Combination and Conversion 组合和转换

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

Sequence Iteration: For Loops for循环

[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences

上一篇:CS61A 学习笔记 lecture 6 recursion


下一篇:linux如何修改主机名