Python 变量类型
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
python变量赋值
Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号(=)用来给变量赋值。
数据类型
python 5个数据类型
Numbers(数字)--->int
string(字符串) --->str
list(列表) --->list
Dictionary(字典)-->dict
Tuple(元组) --->tuple
字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
它是编程语言中表示文本的数据类型。
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
列表
1.切片
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
列表用[ ]标识。是python最通用的复合数据类型。
列表切片为左开有合(下标从0开始)
>>> list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] >>> list[0:2] #取前两个数据 ['abcd', 786] >>> list[:2] #默认从0开始 ['abcd', 786] >>> list[::2] #后面的2是代表,每隔一个元素,就取一个 ['abcd', 2.23, 70.2] >>> list[4:] #取最后一个,不能写-1 [70.2]
2.增加
>>> name.append("e") #添加到最后 >>> name ['a', 'c', 'b', 'd', 'e'] >>> name.insert(1,"f") #添加到指定位置 >>> name ['a', 'f', 'c', 'b', 'd', 'e']
3.删除
>>> del name[2] #删除列表位置 >>> name ['a', 'f', 'b', 'd', 'e'] >>> name.remove("e") #删除列表内容 >>> name ['a', 'f', 'b', 'd'] >>> name.pop() #删除最后一个 'd' >>> name ['a', 'f', 'b']
4.更改
>>> name ['a', 'f', 'b'] >>> name[2] = "e" >>> name ['a', 'f', 'e']
5.追加
>>> name ['a', 'f', 'e'] >>> name.append("d") >>> name ['a', 'f', 'e', 'd']
6.扩展
>>> name ['a', 'f', 'e', 'd'] >>> num [1, 2, 3] >>> name.extend(num) >>> name ['a', 'f', 'e', 'd', 1, 2, 3] >>> num [1, 2, 3]
7.获取下标
['a', 'f', 'e', 'd', 1, 2, 3] >>> name.index(1) 4
字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
字典的特性:
dict是无序的
key必须是唯一的,so 天生去重
>>> dict = {'dept': 'sales', 'code': 6734, 'name': 'john'} >>> for i in dict: ... print(i,dict[i]) ... code 6734 dept sales name john >>> for i,v in dict.items(): #先把dict转成list,数据里大时莫用 ... print(i,v) ... code 6734 dept sales name john
更新和删除:
直接用键值访问更新:内建的update()方法可以将整个字典的内容拷贝到另一个字典中
del dic['a'] 删除字典中键值为a的元素 dic.pop('a') 删除并返回键为'a'的元素 dic.clear() 删除字典所有元素 del dic 删除整个字典 字典中的函数: len(),hash() 用于判断某个对象是否可以做一个字典的键,非哈希类型报TypeError错误。 dict.clear() 删除字典中的所有元素(字典变成空字典,但字典仍然存在) dict.fromkeys(seq,value=None) 以seq中的元素为键创建并返回一个字典,val为指定的默认值 dict.get(key,default=None) 返回key的value,如果该键不存在返回default指定的值 //dict.has_key(key) 【python2】 判断字典中是否存在key,建议使用in和not in代替 dict.items() 返回键值对元组的列表 dict.keys() 返回字典中键的列表 dict.setdefault(key,default=None) 同set(),若key存在则返回其value,若不存在,则 dict[key]=default dict.update(dict2) 将dict2中的键值对添加到字典dict中,如果有重复覆盖,原字典不存在的条码添加进去 dict.values() 返回字典中所有值的列表
字典用法:
1. clear : 清空字典中的项
>>> ddict={}.fromkeys(('x','y'),-1) >>> ddict.clear() >>> ddict {}
2.fromkeys
使用给定的键建立新的字典,每个键默认对应的值为None
>>> dict.fromkeys(['name','keys']) {'a': 'keys', 'n': 'keys', 'e': 'keys', 'm': 'keys'}
3.get
是个更加宽松的访问字典项的方法,一般来说,如果试图访问字典中不存在的项会出错
>>> d {'name': ['huazai', 'patrick', 'abc']} >>> print d['names'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'names' >>> print d.get('names') #无输出
6.setdefault
在某种程度上类似于get 方法,就是能够获得与给定键相关联的值,除此之外,setdefault 还能在字典中不含有给定键的情况下设置相应的键值。
>>> d={} >>> d.setdefault('name','N/A') 'N/A' >>> d {'name': 'N/A'} >>> d['name'] = 'pdadwa' >>> d {'name': 'pdadwa'} >>> d.setdefault('name','N/A') 'pdadwa' >>> d {'name': 'pdadwa'}