Python极简读书笔记(二)数据类型和程序控制结构

97 阅读2分钟

image-20221101112829763image-20221101112829763

  • 数值型(number): Python3 支持 int、float、bool、complex(复数)
  • String(字符串):Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 **** 转义特殊字符。
  • List(列表):列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

image-20221101113713353

  • Tuple(元组):元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
  • Set(集合):集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { } ,因为 { } 是用来创建一个空字典。
  • Dictionary(字典):列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。键(key)必须使用不可变类型。
  • Boolean(布尔类型):True、False

image-20221101113414673

  • 问:可以被索引+截取的基本数据类型?

    • String、List、元组
  • 问:不可变类型有哪些?

    • 主要的核心类型中,数字、字符串、元组是不可变的,列表、字典是可变的。
  • 问:什么是不可变类型?

    • 不可变类型——以int类型为例:实际上 i += 1 并不是真的在原有的int对象上+1,而是重新创建一个value为6的int对象,i引用自这个新的对象。
  • 问:list内置zip函数的作用?

    • image-20221101113831177
  • 问:为什么有了列表python还需要元组?

    • 不可变列表

    • 具名元组:元组适合存放那些无需修改的数据。比如上面的,地名,国家,经纬度。

      • # City(name='Tokyo', country='JP', polulation='36.93', coordinates=('35.68', '139,69'))
        
    • tuple 最主要的意义在于,它是可 hash 的,在某些需要由多个值的组合作为 key 的场景,tuple 和 freeze set 就是唯二的选择了,一个是有序的,一个是无序的。

    • 另一个作用是充当函数返回值的包装,尤其在 Python VM 的底层实现中,大量使用了 C-API 操作 Python Objects,tuple 的不可变性实现了对函数返回值的保护。

程序控制结构

顺序 选择 循环