Python · 基本数据类型

数据类型

整型(Integers)

Python 可以处理任意大小的整数:

  • Python 2.x 中有 intlong 两种类型
  • Python 3.x 中只有 int 类型

浮点型(Floats)

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如 123.456)之外还支持科学计数法(如 1.23456e2)。

字符串(String)

  • 单引号:所有引号内的空间,诸如空格与制表符,都将按原样保留
  • 双引号:被双引号包括的字符串和被单引号括起的字符串其工作机制完全相同
  • 三引号:可以书写成多行的形式

布尔值(Boolean)

布尔值只有 TrueFalse 两种值,可以将它们分别等价地视为 10

列表(List)

list 是一种可变的有序的集合,可以随时添加和删除其中的元素。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
classmates = ['Michael', 'Bob', 'Tracy']

# 增加
classmates.append('Adam') # 增加元素到末尾
classmates.insert(1, 'Jack') # 增加元素到指定位置

# 删除
classmates.pop(i) # 删除指定i位置的元素

# 修改
classmates[i] = 'Sarah' # 替换指定i位置的元素

# 查询
len(classmates) # 查询列表元素的个数
classmates[i] # 查询第i个元素

# 截取
classmates[i:j] # i是头上标,j是尾下标

# 运算符
加号 + : 列表连接运算符
星号 * : 重复操作

元祖(Tuple)

tuple 是一种不可变的有序的列表,一旦初始化就不能修改,因为不可变,所以代码更安全。

1
2
3
4
5
6
7
8
classmates = ('Michael', 'Bob', 'Tracy')

# 查询
classmates[0]t = ()
classmates[-1]

# 空tuple
t = ()

小结listtuple 是 Python 内置的有序集合,一个可变,一个不可变。

字典(Dict)

Python 内置了字典 dict,全称 dictionary,类似于其他语言的 map,使用键-值(key-value)存储,具有极快的查找速度。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

# 插入
d['Adam'] = 67
d['Jack'] = 90

# 更新
d['Jack'] = 88

# 删除
d.pop('Bob')

# 查询
'Thomas' in d # in判断key是否存在
d.get('Thomas') # get方法取数据

内部存放的顺序和 key 放入顺序没有关系,需要牢记的第一条就是 dictkey 必须是不可变对象,和 list 比较,dict 有以下几个特点:

  • 查找和插入的速度极快,不会随着 key 的增加而变慢。
  • 需要占用大量的内存,内存浪费多。

集合(Set)

setdict 类似,是一组不重复 key 的集合,但不存储 value,可以看成无序和无重复元素的集合。

1
2
3
4
5
6
7
s = {1, 2, 3}

# 添加元素
s.add(key)

# 删除元素
s.remove(key)

空值(None)

  • None 是一个特殊的空值
  • None 不能理解为 0,因为 0 是有意义的

变量与常量

常量:通常用全部大写的变量名表示常量。

变量:变量名必须是大小写英文、数字和 _ 的组合,且不能用数字开头。

占位符

  • %d :整数的占位符
  • %f :小数的占位符
  • %s :字符串的占位符
  • %x :十六进制整数占位符
  • %% :百分号占位符

类型转换

  • int():将一个数值或字符串转换成整数,可以指定进制
  • float():将一个字符串转换成浮点数
  • str():将指定的对象转换成字符串形式,可以指定编码
  • chr():将整数转换成该编码对应的字符串(一个字符)
  • ord():将字符串(一个字符)转换成对应的编码(整数)

运算符

运算符 描述
[] [:] 下标,切片
** 指数
~ + - 按位取反, 正负号
* / % // 乘,除,模,整除
+ - 加,减
>> << 右移,左移
& 按位与
^ ` `
<= < > >= 小于等于,小于,大于,大于等于
== != 等于,不等于
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
= += -= *= /= %= //= **= &= ` =^=>>=<<=`