变量没有类型,对象才有类型
一、基本数据类型
整型 int
和long
浮点型 float
布尔型 bool
两个內建(build-in Function)函数:
id(x)
:显示对象x的内存地址
type(x)
:显示对象x的类型
二、主要对象类型
数据类型比较主要的有:字符串str、列表list、元祖tuple、字典dict和集合set
按照特性可以分为两类:
- 第一类:主要包括基本类型、str、tuple
特征:值不可修改,内存地址和值一一对应,可哈希(内存地址唯一标识,内存地址相同,值必定相同);对象修改后生成的新对象拥有新的内存地址; - 第二类:主要包括list、dict、set
特征:对象修改后,内存地址不变,不可哈希
三、各类型的主要函数方法:
对于有序类型(str、tuple、list),可以采用下标索引的方式检索各元素。
- str
- tuple
一般不能直接修改,可与list相互转化,然后修改。 - list
增:
L.append(object):将对象object添加到列表L末尾
L.insert(index, object):将对象object添加到index位置
删:
L.remove(value):移除列表L中值为value的元素,若无,则报Error
L.pop(index):移除列表L中索引为index的元素,若列表为空或index超出界限,则报Error
改:通过索引修改
查:in :判断集合中是否有某元素
其他:翻转L.reverse()
和排序L.sort()
- dict
增:
D[key]='value':增加一个键值对
D.update(E[,F...]):使用E来更新D,相同key的修改,不同key的添加
删:
D.pop(key[,defV]):删除key的键值对,并返回key对应的value;
若key不存在则返回defV;若defV未设置,则报Error
D.popitem():随机删除D中一组键值对,并以元祖形式返回(key,value);若D为空,则报Error
D.clear():清空
改:
D[key]='newValue'
查:
D.keys()/iterkeys():前者返回keys的列表,后者返回对应的可迭代对象
D.values() /itervalues()
D.items()/iteritems()
其他:
D.get(key [,defV]) :获取D[key],若不存在key,则返回defV,defV默认为空
D.setdefault(key [,defV]):获取D[key],若不存在key,则添加D[key]=defV - set
增:
S.add(element)
删:
S.pop():随机删除一个元素,并返回
S.remove(element):删除元素element,若不存在,则报Error
S.discard(element):删除元素element,若不存在,do nothing
改:可以和list相互转化,后修改
查:element in S --> bool
:判断集合中是否有某元素
其他:
判断子集:issubset()、issuperset()
并集:union()、|
交集:intersection()、&
A-B:deffience()、-
对称差集:symmetric_difference()
注意:集合操作都会生成新的对象,并不在原来内存地址上修改