器 | Python数据类型

244 阅读3分钟

这是我参与更文挑战的第3天,活动详情查看: 更文挑战

在工作中最近要用到python处理数据,用一系列的文章记录一下学习过程。本系列主要还是以大纲的摘要形式呈现,并且以应用为目的。

1.特点

面对初学者友好,学习曲线平缓

  1. 语法简介
  2. 支持跨平台
  3. 支持扩展其它语言
  4. 源码开放
  5. 类库丰富
  6. 解释型、面向对象、动态数据类型高级程序设计语言

2.语法

2.1.书写规则

  1. #字符用作注释
  2. import 或者 from...import 来导入相应的模块
  3. 使用缩进来表示代码块,不需要使用大括号 {}
  4. 单行语句太长,我们可以使用反斜杠\来实现多行语句

2.2.数据类型

2.2.1.数值类型(Number)

Python 支持四大数值类型,包括整数int,浮点数float,布尔型bool,复数complex

``bool可选项值有TrueFalse,非0为True ,0为False`

数值类型类型支持以下运算操作:

  • + 加法
  • - 减法
  • * 乘法
  • / 除法,得到浮点数
  • // 除法,得到整数
  • % 取余
  • ** 乘方

注意: 在混合计算时,Python会把整型转换成为浮点数。

2.2.2.序列类型(Sequence)

序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员,

包括字符串String、列表List、元组List三种类型

概念:

  1. 字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 ** 转义特殊字符

     "123"
    

    字符串元素不可修改

  2. 列表是写在方括号 [] 之间、用逗号分隔开的元素列表

     [0,"123"]
    

    列表中元素的类型可以不相同,列表中的元素可修改

  3. 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开

    ("123","456")
    

    元组中的元素类型也可以不相同

序列类型的基本操作包括:

  • 成员操作符 [not] in
  • 连接操作符 +
  • 重复操作符 *
  • 切片操作符 [:]
2.2.3.集合类型(Set)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

创建方式:

可以使用大括号 { } 或者 set() 函数创建集合

coll = {value01,value02,...}
coll = set(value)

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

基本功能:

  1. 成员关系测试

    ... in set

  2. 集合运算

    • 差集 -
    • 并集 |
    • 交集 &
    • 异或 ^
2.2.3 字典类型(dictionary)

字典是无序的对象集合,字典当中的元素是通过键来存取的

概念:

  1. 字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合
  2. 键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的

创建方式:

#创建一个空的字典,并插入一个键值对
dict = {}
dict['key'] = 'value'
#创建拥有一个键值对的字典
dict = {'key': 'value'}
2.2.4.类型总结

Python3 的六个标准数据类型中:

  • **不可变数据(3 个):**Number(数字)、String(字符串)、Tuple(元组);
  • **可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)。
2.2.5.类型判断

内置的 type() 函数可以用来查询变量所指的对象类型,用法如下

#以下会输出<class 'str'>
>>>type("123")

此外还可以用isinstance()进行判断

 #以下会输出Ture
 >>>isinstance(123, int)

isinstancetype 的区别在于:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。
2.2.6. 类型转换

Python是弱类型语言,支持不同类型进行转换,有几个内置的转换函数,用法如下

#字符串"123"转换成整型123
>>>int("123")