1.小数据池

2.id

3.decode和encode

小数据池

#小数据池:不要死磕就行#python为了简化,搞出来的一个东西

ID
(1)# id()函数可以帮我们查看一个变量的内存地址# a=10# b=30# c=10# print(id(a))   #1712876864# print(id(b))    #1712877504# print(id(c))    #1712876864

(2)# lst=['周杰伦','麻花藤']# print(id(lst))  #1248606696968# lst.append('胡辣汤')# print(id(lst))  #1248606696968

#你哥还是你哥,你的包还是你的包#在这个过程中,始终还是那个那个包(3)# lst=['周杰伦','麻花藤']# print(id(lst))  #2415882876424# lst=[]  #重新定义一个列表# lst.append('胡辣汤')# print(id(lst))  #2415882876296#(4)#两个对象的内存地址是不一样的'''lst1=[1,2,3]lst2=[1,2,3]print(id(lst1)) #1845106652680print(id(lst2)) #1845106652552'''(5)#python&java等等最慢的事情是:创建对象   作用:显著提高程序的运行效率    #随着时间的提升,内存会不断被消耗'''s1='abc'    #内存中是没有'abc,创建一个新的      0.001s2='abc'    #内存中已经有了'abc',直接把abc拿来用   0.00000001print(id(s1),id(s2))  #1351674474712 1351674474712'''#程序中出现最高的数据类型:字符串,为了能够快速的创建字符串#节省内存,把相同的规律的字符串进行缓存,当下次创建的时候就不再创建了#把字符串的缓存 ->小数据池->String iterning ->常量池->字符串缓存

#其他语言:常量池,字符串缓存

#在创建字符串之前,先去小数据池对比,是否已经存在了该字符串,如果存在了.#就不创建新的了,直接拿原来存在的数据,省略掉反复重复创建字符串的过程,节省内存

(6)#小数据池只针对:数字,字符串,布尔值# 什么数据会被缓存?#数字,字符串,布尔值=》 都是不可变的数据类型(因为他会被很多人使用)#有缓存和驻留机制

#基本数据类型:int bool str list tuple dic set

1.#数字'''a=1000b=1000print(id(a),id(b))  #2811993566928 2811993566928'''#在CMD显示不一样 -5-256#在pycharm是显示一样的

2.#字符串,如果单纯的写字符串,几乎都会被缓存'''s1='alex昨天上厕所没关门,韩红冲进去了,风扇个出来了,alex昨天上厕所没关门,韩红冲进去了,风扇个出来了's2='alex昨天上厕所没关门,韩红冲进去了,风扇个出来了,alex昨天上厕所没关门,韩红冲进去了,风扇个出来了'print(id(s1),id(s2))  #2793562660912 2793562660912''''''如果在py文件中写的字符串,几乎都是缓存的在黑窗口里写的几乎都不会缓存#不同的解释器,缓存的机制也不一样

# 优点:可以帮助我们快速的创建对象,节省内存# 缺点:缓存如果过大,响应速度会比较慢#但是我们 "不要纠结"'''

# ==和 is'''硬盘:             80MB/S(数据库)内存: 缓冲的作用  2G/SCPU:            3Ghz    (应用)

#内存很满很满时,会直接找硬盘,也就是硬盘中的内存机制

#百万并发:90万人在等待#中间机制:中间加上缓存,现在的就是缓存

#短期内不改的,就放在小数据池内,京东的页面#每天缓存一份,但是价格不缓存'''

(7)#==(判断内容)和 is(判断内存地址) 的区别#== 比较的是数据,外貌#is 比较的是内存地址,比较身份证号

'''lst1=[1,2,3]lst2=[1,2,3]#列表没有小数据池print(id(lst1),id(lst2))   #2231123785096 2231123785224#并且每次的运行结果都不一样print(lst1==lst2)       #Trueprint(lst1 is lst2)     #False

s1='我叫周润发's2='我叫周润发'print(s1==s2)           #True#print(s1 is s2)         #True    #小数据池

tu1=('周一','周二')tu2=('周一','周二')print(tu1 is tu2)       #False   内存地址不相同print(tu1 == tu2)       #True    内容一样'''

3.decode和encode
(1)'''s='我今天非常的困'bs=s.encode('utf-8')    #把字符串转化成utf-8格式bytesprint(bs)#bytes不是给人看的,给机器用的#21个字节# b'\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe9\x9d\x9e\xe5\xb8\xb8\xe7\x9a\x84\xe5\x9b\xb0'

bs=s.encode('gbk')    #把字符串转化成utf-8格式bytesprint(bs)#b'\xce\xd2\xbd\xf1\xcc\xec\xb7\xc7\xb3\xa3\xb5\xc4\xc0\xa7'

#utf-8和gbk是不能直接转换的,必须使用unicode来转换'''

(2)'''bs=b'\xce\xd2\xbd\xf1\xcc\xec\xb7\xc7\xb3\xa3\xb5\xc4\xc0\xa7's=bs.decode('gbk')print(s)

sb = b'\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe9\x9d\x9e\xe5\xb8\xb8\xe7\x9a\x84\xe5\x9b\xb0's=sb.decode('utf-8')print(s)#爬虫中,在网站上,有的用的是GBK,有的就是utf-8'''

#练习'''sb = b'\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe9\x9d\x9e\xe5\xb8\xb8\xe7\x9a\x84\xe5\x9b\xb0'gb=sb.decode('utf-8')   #解码gbk_1=gb.encode('gbk')  #编码print(gbk_1)'''

# 关于bytes,非ascii中的内容,展示的是\x..,如果是ascii中的内容,原样输出# name='alex昨天吃多了'# bs=name.encode('gbk')# print(bs)

name='alex昨天吃多了'bs=name.encode('GBK')print(bs)

转载于:https://www.cnblogs.com/studybrother/p/10060489.html

巨蟒python全栈开发-第6天 is==相关推荐

  1. 巨蟒python全栈开发-第11阶段 ansible_project2

    一个NB的网站: https://www.toolfk.com/ CDN:将用户的需求送到最近的节点:内容分发网络 有些是专门做CDN的工具 常用的markdown是需要知道的,短信有字数限制. we ...

  2. 巨蟒python全栈开发-第11阶段 ansible_project1

    今日大纲: 1.前端页面介绍 2.发布流程 3.需求分析 4.表结构设计 5.前端页面设计 昨日内容回顾: 1.roles - tasks- handlers- files- templates- v ...

  3. 巨蟒python全栈开发flask8 MongoDB回顾 前后端分离之H5pycharm夜神

    1.MongoDB回顾 1.启动 mongod - 改变data/db位置: --dbpath D:\data\dbmongod --install 安装windows系统服务mongod --rem ...

  4. 巨蟒python全栈开发-第10天 函数进阶

    一.今日主要内容总览(重点) 1.动态传参(重点) *,** *: 形参:聚合 位置参数*=>元组 关键字**=>字典 实参:打散 列表,字符串,元组=>* 字典=>** 形参 ...

  5. python123蟒蛇代码_巨蟒python全栈开发-第3天

    1 今日作业 1.有变量name = "aleX leNb" 完成如下操作: #1)移除 name 变量对应的值两边的空格,并输出处理结果 '''''' '''# name = & ...

  6. 巨蟒python全栈开发-第12天 生成器函数 各种推导式 yield from

    一.今日主要内容总览(重点) 1.生成器(目的:帮助我们创建对象) (1)生成器的本质就是迭代器 (2)一个一个的创建对象 (3)创建生成器的方式: 1.生成器函数 2.通过生成器表达式来获取生成器 ...

  7. python点击事件onclick_巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式onblur和onfocus事件window.onload解释小米商城讲解...

    1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...

  8. 巨蟒python全栈开发flask10 项目开始2

    1.websocket异常处理 出现上图报错的原因是什么? 原因是:websocket断开了,所以报错 19行接收的msg是None值,所以报错. 打开一个文件,点击发送音乐,出现上面的内容: 客户端 ...

  9. 巨蟒python全栈开发flask11项目开始3

    1.多玩具遥控&&websocket回锅 2.绑定玩具时添加好友的最终逻辑 3.消息&&好友列表 4.chat聊天&&对话窗口 1.多玩具遥控& ...

最新文章

  1. [CLR via C#]12. 泛型
  2. Mongodb Replica Configure
  3. PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架
  4. 快速搭建移动应用直传服务
  5. 我之所以抛弃Java而选择Kotlin的10个理由
  6. iOS:childViewController和view的声明周期及其原理
  7. 基于51单片机的医院银行排队叫号系统proteus仿真程序原理图设计
  8. 《潮流时装设计——世界顶级时装CAD制板技巧》——1.2 国内外服装CAD的发展状况...
  9. 如何快速将多个文件合并为一个文件?
  10. 如何添加Cydia源?如何通过Cydia下载软件?如何卸载软件?
  11. go语言基础(一)之文件读写
  12. 波导缝隙天线(二)[搬运]
  13. 个人和企业拥有专利的25个好处!
  14. precede和previous_preceding,previous,prior辨析.ppt
  15. 小米node2红外_小米监控open-falcon-0.2安装部署详细配置
  16. 阿拉伯数字金额转汉字大写
  17. mysql中dist_在SQL语句中dist是什么意思
  18. 新加坡国立大学招收博士生/博士后/研究助理/访问学生
  19. 经颅磁刺激后EEG神经网络的大规模变化
  20. 怎样快速上手深度学习?谷歌官方推荐的 TensorFlow 2 “豹书”来了!

热门文章

  1. (转)MVC模式参数传递的探究
  2. CountDownLatch的理解和使用 多线程同步器
  3. PostgreSQL 11 1Kw TPCC , 1亿 TPCB 7*24 强压耐久测试
  4. ZooKeeper3.4.5-最基本API开发
  5. python入门(5)使用文件编辑器编写代码并保存执行
  6. Java对象容器——List
  7. eclipse 函数折叠展开
  8. 如何使用FF的Firebug组件中的net工具查看页面元素加载消耗时间
  9. pyramid新建项目
  10. SQL基础-- 数据处理(DML、RETURNING、MERGE INTO)