-
变量:python中的变量不需要声明,但在使用前都必须要赋值,变量赋值之后才会被创建
- 在python中变量是没有类型的,所有的数据类型是对内存中对象的类型。
-
赋值:使用等号=来给变量赋值
- python允许同时为多个变量赋值,例如:a = b = c = 1
- python也可以为多个对象指定多个变量,例如:a, b, c = 1, 2, "runoob"
- 一个变量可以通过赋值指向不同类型的对象
- 混合计算时,python会把整型转换成浮点型
-
标准数据类型:
- 不可变数据类型:String,Number,Tuple
- 可变数据类型:List,Dictionary,Set
-
Number:int,float,bool,complex
- 内置的type()函数可以用来查询变量所指的对象类型
- isinstance(,)可以用来判定变量是不是某个类型
- type()和isinstance()的区别在于type()不会认为子类是一种父类类型
- python3中bool的值变成了true和false,但是数值还是1和0,可以和数字进行相加
- 可以使用del语句删除单个或者多个对象
- 数值运算:加+,键-,乘*,除/(得到浮点数)//(得到整数),取余%,乘方**
- 浮点数的指数形式:aE+b=a*10^b
-
String:用单引号或双引号括起来,同时使用反斜杠转义特殊字符
- 如果不想让反斜杠发生转义,可以在字符前面添加一个r
- python没有单独的字符类型
- 两种索引方式,从前往后和从后往前
- 和C字符串不同,python字符串不能被改变,向一个索引位置赋值会导致错误
-
List:python中使用最频繁的数据类型,可以完成大多数集合类的数据结构实现
- 列表中元素的类型可以不相同
- 列表是写在[ ]之间,用逗号分隔开的元素列表
- 和字符串一样,列表同样可以被索引和截取,返回一个新列表
- +是列表连接,*是重复操作
- list中的元素是可以改变的
-
Tuple:与list类似,不过区别在于元组的元素不能修改,且写在小括号()里
- 元组中的元素也可以不相同
- 元组与字符串类似,可以前后索引,也可以进行截取
- 虽然tuple的元素不可改变,但是可以包含可变的对象,比如说list列表
- 包含0或者1个元素的元组比较特殊,只含有一个元素的时候需要在元素后面添加逗号
- List,String,Tuple都属于Sequence
-
Set:由一个或数个形态各异的大小整体组成,基本功能是进行成员关系测试和删除重复元素,可以使用{ }或者set()函数创建集合
- 创建空集必须要使用sey()而不是{ },一位内{ }是用来创建空字典
- set可以进行集合运算:差集-,并集|,交集&,两集合不同时存在的元素^
-
Dictionary:一个非常有用的内置数据类型
- 列表是有序的对象集合,字典是无序的对象集合,字典当中的元素是通过键来存取的,而不是通过偏移存取
- 字典是一种 映射类型,用{ }识别,是无序的key:value的集合
- key必须使用不可变类型
- 在同一个字典里,key是唯一的
- .keys()输出所有键,.values()输出所有值
-
构造函数dict()可以直接从键值对序列中构造字典
-
>>> dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
-
>>> dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
- 创建空字典使用{ },注意和集合相互区别
- 数据类型转换:只需要将数据类型作为函数名即可