Day6笔记
01 昨日内容回顾
dict:
键值对形式,键唯一,键必须是不可变的数据类型(可哈希的)
不可变:
int str bool tuple 可哈希
s1 = 2 'alex'
s1 = 4
s1 = [1,2,3]
s1.append(666)
哈希表 hash
dict:
增:
dic['name'] = 'jin'
setdefault() 有则不变,无责添加。
删:
pop 按照键删除键值对
pop('name1',None)
clear 清空字典
del del dic
del dic['name']
popitem() 随机删除,返回删除的元祖形式的键值对
改:
dic['name'] = 'jin'
update
查:
dic['name']
dic.get('name','sb没有此键')
dic.keys() dic.values() dic.items()
li = list(dic.keys())
for i in dic.values():
pass
for k,v in dic.items():
pass
03,is == id
04,小数据池
05,编码2
asiic : 字母,数字,特殊字符;8位 1个字节表示1个字符。
unicode:万国码:
Q :0000 0001 0000 0001 0000 0001 0000 0001
中:0000 0101 0000 0001 0000 0001 0000 0001
utf-8:
a: 0000 0001
欧: 0000 0001 0000 0001
中: 0000 0001 0000 0001 0000 0001
gbk:国标
a: 0000 0001
中:0000 0001 0000 0001
1,编码之间的二进制互不识别。
2,存储和传输010101,但是不能是unicode的0101010.
数据类型:
int
bool
str
byte 与str的方法相同
list
dict
python3x 中的编码:
python3x 中 str 在内存中的编码方式是unicode。python3x 中的str不能直接存储,和发送。
bytes 他的编码方式是非unicode(utf-8,gbk,gb2012.....)。
对于英文:
str: 表现形式:s = 'laonanhai'
内部编码:unicode
bytes:
表现形式:s = b'laonanhai'
内部编码:非unicode.
对于中文:
str: 表现形式: s = '中国'
内部编码:unicode
bytes: 00000001
表现形式:s1 = b'\xe4\xb8\xad\xe5\x9b\xbd'
内部编码:非unicode.
-------------***************-------------
1.编码2
s = 'fdsagsadfsad方式打开家乐福;按时fdsafdsa'
#ip地址 端口等等
s1 = input('你好')
# s1
s = 'laonanhai'
s1 = b'laonanhai'
print(type(s))
print(type(s1))
s = 'alex' # str
s1 = s.encode('utf-8') # bytes
# encode 编码 :str --- > bytes
s = 'hello girl'
s1 = s.encode('utf-8')
print(s1)
s = 'hello girl'
s1 = s.encode('gbk')
print(s1)
s = '中国'
s1 = s.encode('utf-8')
print(s1)
s = '中国'
s1 = s.encode('gbk')
print(s1)
2. 小数据池:
#数字: -5 ~ 256 节省空间。
#字符串: 1,如果含有特殊字符,不存在小数据池。
# 2,str(单个) * int int > 20 不存在小数据池。
#其他都不存在小数据池。
a = 1000
b = 1000
print(a == b)
# == 比较的是数值
# is 比较的是内存地址。 print(a is b)
#查看内存地址id() print(id(a)) print(id(b))
浙公网安备 33010602011771号