Python基本数据类型
Python3基本数据类型
关于变量
- Python中的变量不需要声明,每个变量在使用前必须赋值,变量赋值以后该变量才会被创建。
- 在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型
- 等号(=)用来给变量赋值
- 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
- 为多个对象指定多个变量时这样表示
a , b , c=1, 2 , "runoob"
六个标准数据类型
python3中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- set(集合)
- Dictionary(字典)
其中:
- 不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组)
- 可变数据(3个): List(列表)、set(集合)、Dictionary(字典)
Number(数字)
- Python3支持int、float、bool、complex(复数)。
- 在python3里,只有一种整数类型int,表示为长整型。
- 像大多数语言一样,数值类型的赋值和计算都是很直观的。
- 内置的type()函数可以用来查询变量所指的对象类型
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
输出:
创建Number对象
a="ACM"
b=1.0
也可以用del语句删除一些对象引用
del语句语法是:
del a[,b[,c[...,n]]]
可以使用del语句删除单个或多个对象,如:
del a
del a,b,c,d
而且del删除的是变量,数据仍然保留,如
a="ACM"
c=a
del a
print(c)
输出:
数值类型实例
String(字符串)
Python中的字符串用单引号 ’ 或者双引号 "括起来,同时使用反斜杠 \ 转义特殊字符,也可作为续行符
索引值以0为开始值,-1为从末尾开始的位置。
与C字符串不同的是,Python字符串不能被改变,向一个索引位置赋值,比如word[0]='m’会导致错误
List(列表)
- List(列表)是Python种使用最频繁的数据类型。
- 列表可以完成大多数集合类的数据结构实现,列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)
- 列表是卸载方括号[ ]之间、用逗号分隔开的元素列表
- 和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表
- 列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以0为开始值,-1为从末尾的开始位置。
list = ['abcd', 786, 2.23, 'runoob', 70.2]
twolist = [1.27,"Kobe"]
print(list) # 输出完整列表
print(list[0]) # 输出列表第一个元素
print(list[1:3]) # 从第二个开始输出到第三个元素
print(list[2:]) # 输出从第三个元素开始的所有元素
print(list * 2) # 输出两次列表
print(list + twolist) # 连接列表
输出:
与Python 字符串不一样的是,列表中的元素是可以改变的:
list = ['abcd', 786, 2.23, 'runoob', 70.2]
list[0:2]=['K',555]
print(list)
输出:
List内置了很多方法,例如append()、pop()等。下一篇会写到很多,先简单写一个
append()是添加列表项
list=[1,2,3,4]
list.append(9)
输出
同时del用于删除列表中的元素
list=[1,2,3,4]
list.append(9)
list1=["ACM","BUG"]
del list[0]#删除第一个
del list[1:3] #删除第2~3个
del list1[:]#全删
输出:
注意:
- List元素写在方括号之间,元素用逗号隔开。
- 和字符串一样,list可以被索引和切片。
- List可以使用+操作符进行拼接。
- List中的元素是可以改变的。
- Python 列表截取可以接收第三个参数,参数作用是截取的步长(间隔数),如果第三个参数为负数,表示逆向读取
Tuple(元组)
元组与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。
元组中的元素类型也可以不相同:
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
与列表只差在括号不同:
注:元组与字符串类似,可以被索引且下标索引从0开始,-1为从末尾开始的位置。也可以进行截取
构造包含0个或1个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号,不加的话,显示的是一个数字1
string、list、tuple都属于sequence(序列)
注意:
- 与字符串一样,元组的元素不能修改,但可以用del删除整个元组。
- 元组也可以被索引和切片,方法一样。
- 注意构造包含 0 或 1 个元素的元组的特殊语法规则。
- 元组也可以使用+操作符进行拼接。
Set(集合)
- 集合set是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
- 基本功能是进行成员关系测试和删除重复元素。
- 可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典
创建格式
a={1,2,3...}
或者
set(value)
set的一些应用:
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Rose' in student :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
上述代码中提到in
,这里描述一下:in、not in表示元素是否在集合中
同样的,链表、元组中也适用
ser集合可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
输出:
Dictionary(字典)
- 字典是python中另一个非常有用的内置数据类型
- 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
- 字典是一种映射类型,字典用{}标识,它是一个无序的键(key):值(value)的集合
- 键(key)必须使用不可变类型。
- 在同一个字典中,键(key)必须是唯一的
dict={}
dict['one']="1 - x"
dict[2] ="2 - y"
tinydict={'name':'kdz','code':'19160101038','site':'china'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
另外,字典类型也有一些内置函数,例如clear()、key()、value()等。
注意:
- 字典是一种映射类型,元素是键值对
- 字典的关键字必须为不可变类型,且不能重复
- 创建空字典使用{};
Python数据类型转换
有时,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置函数可以执行数据类型之间的转换,这些函数返回一个新的对象,表示转换的值。
上一篇: cocos2d-js 游戏源码
下一篇: Python基本数据类型