Python3的数据类型
字典
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI2OC8xYWEwNzY3Yjk2ZjZkZWJmNDgxYWM2NzNhMTE5OGViYy5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEyNi9hYzRlYzIzOGQ5ZDYyYzZmOGVlNTNiMmQyMTUwNzM4ZS5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE5MC8xZDcyOTllOTliYmNmYTg4ZmE1NDAzNDZhMDY2MTZmNi5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM4OS82ODc1Yzc3OTk3YzhmZjQ2MDVkNWUyZjE1NDAxMzQyZC5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzcxMy8xMjk3YmEwNTMyZjMzY2M4ZDQwNDcwMzE2ZmU2NzEwOS5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE0LzJiZTc5OTI1NDhhZWE4YTk4YTg2MDlmZjMzNTRkZTVlLnBuZw==)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE5My8xYTM1MTM0NjE4ZDcwNTZjNWJkNTdlMjdkNmY4MDJlMS5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI5NC85YmI1YjRkZjJmNzViODgwYjYyZjljYjFjZWNmZTEwZS5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY5Mi9hYzk3YjU3ZjhkNjFmM2Y5OGNkMmIwYmViN2VmNzA5Yy5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI0Mi9kMGE3ZjIzMjQzZTlkYWQxMGVkZjJkMTdmNmNhNTFlYS5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzg4OS8yNzEyN2NlZmNhMjM5MWQ5OGM4OTkyYTMwZTIzZGIyOS5wbmc=)
![Python3的数据类型 Python3的数据类型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM0Ny8xZmMxNmIzOGVlNGY3ZDU0ZDc0OTNjOGE4OWY0NTA0My5wbmc=)
.
1.字典就是我们在其他原因中用到的key:vaule的一种表达形式。类似,java的map,js的json
2.字典可以存储任意的对象,也可以是不同的数据类型。定义的方式:
第一种方式:A = dict(a=1,b=2)
第二种方式:A = {‘name’ : 'zy', 'age': '20'}
第三种方式:A = dict([('name','zy'),('age','20')])
字典的对象是可变的,也是value是可变的,就是key后面的值是可以变的,但是字典的健是不可变对象。也就是key 不可变。一个字典中可以使用不同的健值,就是说key 可以是字符串 元祖 。不行是不可变的。像列表就不可以,因为他是可变的
3.字典里的方法:
1.get()和setdefault() 方法。
get()方法:get()方法是获取健值对应的value,如果这个健值key 不在字典中 返回的是None。
用法:a.get('a') 不存在字典中的话 返回None,如果有value值就返回该value值
A1 = {'name': 'zy', 'age': '20'}
print(A1.get('name'))
setdefault()方法是如果key不存在,返回None,如果有设定value,则返回value
A1 = {'name': 'zy', 'age': '20'}
print(A1.setdefault('address', 'nanchang'))
2.keys()方法和value()方法
keys()方法:keys方法用于返回字典里所有的key
value()方法:返回字典里所有的value
A1 = {'name': 'zy', 'age': '20'}
print(A1.keys())
print(A1.values())
可以看到返回的类型是和Python2不一样,2是返回一个列表,3是返回一个dict_keys对象。
print(type(A1.keys()))
可以迭代的。可以使用循环出来对象。
3.获取到了key和value。如何一一对应呢,用时items()方法。
使用for循环来接收key和value
for x,y in A1.items():
print("key = {0}, value = {1}".format(x,y))
通过2个变量接收。
4.update 方法
update()方法:更新,可以把2个字典更新成一个字典,也可以理解成追加吧。更新的对象是一个字典或者是一个迭代的对象。
用法:a.update(b) 把字典b更新到字典a中。
a.update({'c':4}) 更新一个字典到a中。
A1 = {'name': 'zy', 'age': '20'}
A2 = {'address': 'nanchang'}
A1.update(A2)
print(A1)
5.pop方法
删除一个健值 key 返回的是key对应的value,如果key不存在,会抛出一个异常
用法:a.pop('a') a.pop('d','不存在') 如果不存在kye 可以返回一个指定的对象,如果不加对象,就会报错。
keydelet = A1.pop('age')
print(keydelet)
print(A1)
三、其他常用的操作
1.常用的操作。
(1)help()函数
查看帮助信息
s = 'a'
help(s.strip)
这样就可以看到strip的帮助信息。
还可以使用快捷键,ctrl+鼠标左键。快速查看帮助信息。
(2)dir方法
dir方法可以查看出含有哪些方法。
s = 'a'
print(dir(s))
可以看到s字符串里的所有方法。
(3)startwith() endwith()
查找是不是以参数开头,endwith()是不是以参数结尾,返回布尔值。
s = 'asdf123sfa'
tmp = s.startswith('as')
print(tmp)
(4)强制类型转换。
int()转换成整型 tuple()转换成元祖 dict()转换成字典。list()转换成列表。
(5)len()函数,isinstance()函数
统计字符串的长度
a = 'asdfasdfasdfdfds'
print(len(a))
isinstance()函数判断一个变量是否属于这个类型,返回布尔值。
a = 'asdfasdfasdfdfds'
print(isinstance(a,str))
(6)Python2和Python3的区别
1.print函数
Python2 支持 print s 这种写法,print s, 加个,号表示不会车
Python3 print 被封装成一个函数,只能print(s)这么写,print(s,end="") 这样来表示不会车
2.range()函数
Python2中有xrange,但是Python3中没有了,range结合了xrange,只有range。range有了xrange的特性,对系统的利用率更高。
3.input()函数
Python2中有raw_input 和input
python3中只有input, 输出的是一个字符串。