博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day06
阅读量:4625 次
发布时间:2019-06-09

本文共 2236 字,大约阅读时间需要 7 分钟。

1. is 和 == 的区别

1. is 判断内存地址  # id()函数-----获取内存地址   a = 'alex'  # 字符串  print(id(a))    # 2917013018360  内存地址  n = 10  # 数字  print(id(n))    # 140713995195712  li = [1,2,3]  # 列表  print(id(li))  # 1504954376776  a = 'alex'  # 字符串  b = 'alex'  print(a is b)  # Ture  n = 10  # 数字  n1 = 10  print(n is n1)  # Ture
  # 小数据池(常量池): 把我们使用过的值存储在小数据池中,供其他的变量使用  # 小数据池给数字和字符串使用,其他数据类型不存在      (1)数字小数据池的范围   -5~ 256, 超过这个范围, 内存地址就不一样.      (2)字符串中如果有特殊字符他们的内存地址就不一样      (3)字符串中单个*20以内他们的内存地址一样,单个*21以上内存地址不一样.  # 数字  n = -6  n1 = -6  print(n is n1)    # Flase  n = 257  n1 = 257  print(n is n1)    # Flase  n = 5 // 2  n1 = 2  print(n is n1)     # Ture  # 字符串  a = 'alex@'  a1 = 'aelx@'  print(a is a1)     # Flase  a = 'a' * 22  b = 'a' * 22  print(a is b)     # Flase  # 布尔值  a = True  b = True  print(a is b)     # Ture  # 列表,元组和字典没有小数据池  li = [1,2,3]  # 列表  li2 = [1,2,3]  print(li = li2)     # False  tu = ('燃哥','周杰伦')  # 元组  tu1 = ('燃哥','周杰伦')  print(tu is tu1)      # False  dic1 = {
'name':'alex'} # 字典  dic = {
'name':'alex'}  print(dic1 is dic) # False
2. ==   比较   比较是值    a = 'alex'  # 字符串    b = 'alex'    print(a == b)  # Ture    n = 10  # 数字    n1 = 10    print(n == n1)  # Ture    li1 = [1,2,3]  # 列表    li2 = [1,2,3]    print(li1 == li2)  # Ture    dic1 = {
'name':'alex'} # 字典 dic = {
'name':'alex'} print(dic1 == dic) # Ture
# 总结    == 比较   比较的两边的值    is 比较   比较的是内存地址   id()

2. 回顾编码

1. ASCII:            不支持   中文            支持     英文  数字  符号            8位      一个字节2. GBK  国标:(兼容ASCII)            支持  中文,英文,数字,符号            英文  16位  两个字节            中文  16位  两个字节3. unicode:(兼容ASCII)            支持   中文,英文,数字,符号            英文   32位  四个字节            中文   32位  四个字节4. UTF-8: 长度可变的unicode. 最少用8位            英文   8位   一个字节            中文   24位   三个字节python2 只能用ASCIIpython3中 程序运行阶段 使用的是unicode   显示所有的内容bytes类型, 传输和存储都是使用bytes.pycharm 存储的时候默认是是使用utf-8

3. 编码和解码

1. encode(编码方式)  编码. 获取到的是编码后对应的字节(解码之后的结果是bytes 'b')    s = 'alex'    print(s.encode('utf-8'))  # b'alex'
2. decode(解码方式)  解码. 将编码后的字节编码成对应的明文(把 bytes变回字符串)  s = '饿了'  s1 = s.encode('gbk')       '  print(s1)  # b'\xb6\xf6\xc1\xcb'  print(s1.decode('gbk'))  # 饿了 注意: 用什么进行编码就要用什么进行解码  不然会懵逼

 

转载于:https://www.cnblogs.com/kangqi452/p/11281718.html

你可能感兴趣的文章
软件自动化测试——入门、进阶与实战
查看>>
BZOJ1878 [SDOI2009]HH的项链 树状数组 或 莫队
查看>>
BZOJ3675 [Apio2014]序列分割 动态规划 斜率优化
查看>>
2016.10.24 继续学习
查看>>
产品功能对标 - 服务授权管理
查看>>
各地IT薪资待遇讨论
查看>>
splay入门
查看>>
带CookieContainer进行post
查看>>
C语言学习笔记--字符串
查看>>
关于七牛进行图片添加文字水印操作小计
查看>>
DataSource数据库的使用
查看>>
Luogu4069 SDOI2016 游戏 树链剖分、李超线段树
查看>>
Java的内部类真的那么难以理解?
查看>>
一文搞懂Java环境,轻松实现Hello World!
查看>>
hash实现锚点平滑滚动定位
查看>>
也谈智能手机游戏开发中的分辨率自适应问题
查看>>
关于 IOS 发布的点点滴滴记录(一)
查看>>
《EMCAScript6入门》读书笔记——14.Promise对象
查看>>
CSS——水平/垂直居中
查看>>
Eclipse连接mysql数据库jdbc下载(图文)
查看>>