Python数据类型

670 阅读3分钟

  Python3中有六个标准的数据类型:Number(数字型)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。

Number(数字)

  在Python3中,数字分为intfloatboolcomplex。所有的整数都在int范围内(-∞~∞),如果内存足够Python可以表示任意长度的数字。float表示小数,可以使用科学计数标志e或E表示,如 1.2e+10TrueFalse(也可以是01)是bool型。Python的复数常量写成实部+虚部的写法,虚部以j或J结尾如 3+4j,3J,通常不会用到复数。

  Python中整数可以以十进制、二进制、八进制、十六进制表示。

0b11		# 二进制是以0b开头的,表示十进制的3
0o11		# 八进制是以0o开头的,表示十进制的9
0x11		# 十六进制是以0x开头的,表示十进制的17

String(字符串)

  字符串是单个字符的字符串的序列。以下此种都是字符串,三个单引号与三个双引号可以定义多行字符串,单个自能用来定义单行字符串。

' string '
" string "
''' string '''
""" string """

  可以使用format%进行格式化。

'8+1={i}'.format{5+3} # i相当于1个占位符
'5+3=%i'%(5+3)		  # i是类型

  字符串可以用len()获取字符串中字符的个数(字符串长度)。

s1 = 'hjk'
print(len(s1)) # 输出3

  字符串中某些字符需要用转义符来表示:

print('\n ')		# 换行符,将光标位置移到下一行开头。
print('\r ')		# 回车符,将光标位置移到本行开头。
print('\t ')		# 水平制表符,也即 Tab 键,一般相当于四个空格。
print('\b ')		# 退格(Backspace),将光标位置移到前一列。
print('\' ')		# 单引号
print('\'' ')		# 双引号
print('\\ ')		# \符号
print('\a ')		# 在控制台输出电脑会响一声

List(列表)

  列表是一个任意类型的对象的位置相关的有序集合,它没有固定的大小。与JavaScript中的数组很类似,里面可以放任意类型的元素。

student = ['张三','李四','王五']
worker = ['孙七','周天']

  更改列表的长度可以通过下面的方式:

student.append('赵六')   # 向列表后增加一个元素 ['张三','李四','王五','赵六']
student.extend(worker)  # 向列表后追加一个列表 ['张三','李四','王五','赵六','孙七','周天']
student.insert(2,'吴九') # 向列表第3个位置插入一个元素 ['张三','李四','吴九','王五',...]
del student[1]          # 删除列表第2个元素 ['张三','吴九','王五',...]
student.pop()			# 删除列表追最后一个元素,可以在方法内传入一个索引,删除索引处元素
student.remove("张三")   # 删除列表中的张三,如果列表中没有要删除的元素就会报错

Tuple(元组)

  与列表类似,但是元组的元素是不能修改的。

numbers = (100,200)

Dict(字典)

  与JavaScript中的对象很相似,字典是一系列键值对的组合(哈希表),Python中任何对象都可以作为字典的值。

student = {
    'name': 'xiaoming',
    'gender': 'male'		#如果后面有重复的键,后面的值会覆盖前面的值
}
print(student['name'])		# 输出xiaoming

Set(集合)

  集合是一个无序不,重复元素的序列。 集合使用大括号{}表示 ,与字典类似,但是只有键,没有值,所以要元素不重复。通常用来 关系测试和消除重复元素 。要声明一个空集合要用set()方法,也可以用它将列表转换成集合。

li = [3,3,3,3,5,9,7]
se1 = {4,9,1,3,5}
print(set(li))  # 输出 [3,5,9,7]

  这六种类型中,listdictset都是可变的数据类型,numberstringtuple都是不可变的数据类型( 可变数据类型更改值后,内存地址不发生改变。不可变数据类型更改值后,内存地址发生改变 )。