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

Posted ikventure

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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.

Fun Side Trip: Pairs of Integers

Another Representation

Adding Mutability

Attempt #1

注意a, b不是pair_func frame中的变量,不能在其中重新赋值,需要nonlocal。

Nonlocal

Attempt #2

Sequences 序列

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

  • 序列可以是有限的,也可以是无限的。
  • 序列可以是可变的,也可以是不可变的。
  • 序列可以是加索引的:元素可以通过索引获取
  • 序列可以是可迭代的:值可以从头到尾依次获取

Python’s Sequences

python的序列类型:元组、列表、字符串、range、迭代器和生成器。
(集合类型:集合和字典)

Construction 结构

String Literals 字符串

Selection and Slicing 索引和切片

Sequence Combination and Conversion 组合和转换

Sequence Iteration: For Loops for循环

以上是关于[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences的主要内容,如果未能解决你的问题,请参考以下文章

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

CS61A学习笔记 lecture1 Computer science

[2021 Spring] CS61A Discussion 5: Python Lists, Trees, Mutability

[2021 spring] CS61A Lab 2: Higher-Order Functions, Lambda Expressions

CS61A 学习笔记 lecture 6 recursion

[2021 Spring] CS61A Project 1: The Game of Hog (Phase 3)