2019-09-17-23:09:48

今天学的内容是有关小数据池的,学的有点懵逼,感觉越来越难学了,但是得坚持下去

明天学习下一个课程时,感觉要跟不上,看来明天得先看好几遍今天的内容

不然肯定会听的懵逼

今天看见哔哩哔哩很多这样的视频,内容和我网上买的一样的,心塞啊!!!!!!!!!!!!

今天的内容:

一.重要知识点
1. is 和 == 区别
id()函数
== 判断两边的值
is 判断内存地址
#小数据池只针对整数、字符串、布尔值.其他的数据类型不存在驻留机制
2.当我们在控制台的时候,代码块与代码块之间的规则:
1.数字: -5~256之向的整数会被缓存
2.宇符串:
长度小于等于1会默认缓存
长度大于1,如果字符串中只有数字、字母、下换线缓存
乘法得到的字符串:
1.如果乘数是1. 和上面两个方案一致
2.乘数不是1.最终长度不能超过20
手动指定缓存 from sys import intern intern()制定缓存的内容
3.布尔值
3.py文件里, 一个代码块内部,只会缓存int, str, bool 也有自己的小数据池。 缓存的范围会比外面的代码块的数据池大
1. 数字。都会缓存。运算的结果不缓存(-5~256 会缓存)
2. 宇符串。默认的字符串都缓存,如果有乘法。 遵循上方的结论
3. 布尔值,默认缓存 回顾编码:
1. ASCII: 英文, 特殊字符, 数字, 8bit, 1byte
2. GBK: 中文 16bit, 2byte. 兼容ASCII
3. unicode: 万国码, 32bit 4byte. 兼容ASCII
4. UTF-8: 长度可变的unicode. 英文:8bit, 欧洲:16bit, 中文:24bit 3byte python2 只能用ASCII
python3 有unicode, 默认的编码就是unicode
内存里用的是unicode. 硬盘和网络传输用的是utf-8或者GBK 2. encode() 编码. 获取到的是编码之后的结果. bytes
3. decode() 解码. 把bytes编程我们熟悉的字符串 二.错误总结
1.字符串的错误
li=[11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dict={}
for el in li:
if el<=66:
if dict.get('k1')==None:
dict['k1']=el #-->>这里是表示字符串(应该加上[])
else:
dict['k1'].append(el) #-->>字符串不可改变
else:
if dict.get('k2')==None:
dict['k2']=el #-->>这里是表示字符串
else:
dict['k2'].append(el) #-->>字符串不可改变
print(dict)
#出现这个错误的原因是因为没有考虑到字符串是不可变的,没有连贯上以前学的内容,只以为今天的题目昨天的内容就可以解决
解决方法:加上[],以后每输入一个命令行,要去考虑它是什么 2.同上
s="k:1|k1:2|k2:3|k3:4"
lst=[]
lst=s.split("|")
# print(lst)
dict={}
for c in lst:
# print(c)
k,v=c.split(":") #-->>这里一开始自己做没有加上k,v
dict[k]=int(v)
print(dict)
#还是一样没有考虑到字符串的不可变
解决方法:重新回去再仔细看看前几天所学的内容,要学会连贯知识点
觉得还可以的代码
li=[11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dict={}
for el in li:
if el<=66:
if dict.get('k1')==None:
dict['k1']=[el]
else:
dict['k1'].append(el)
else:
if dict.get('k2')==None:
dict['k2']=[el]
else:
dict['k2'].append(el)
print(dict)

最新文章

  1. ABP Zero示例项目登录报错“Empty or invalid anti forgery header token.”问题解决
  2. 菜鸟快飞之JavaScript对象、原型、继承(三)
  3. Eclipse 恢复删除的文件
  4. Stream 和 byte[] 之间的转换
  5. Hibernate一对一关系映射
  6. yum 部署nginx
  7. 文件上传小技巧/后端处理【以php示例】
  8. HTTP协议学习笔记-2
  9. NOIP2011 计算系数
  10. 关于SIGSLOT的一个简单的程序
  11. 如何更改mysql可执行路径及更改mysql数据库文件路径
  12. 取distinct数据同时还取其他字段
  13. docker结合jenkins、gitlab实现.netcore的持续集成实践
  14. webpack bug及解决方案
  15. BZOJ_2679_[Usaco2012 Open]Balanced Cow Subsets _meet in middle+双指针
  16. python接口自动化(二十三)--unittest断言——上(详解)
  17. 三、tcp、ip协议详细
  18. git忽略已提交的文件或目录
  19. iOS UI-文本视图(UITextView)
  20. PHP根据秒计算持续时长

热门文章

  1. 【面向对象】第三单元总结——JML
  2. Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用
  3. android studio 创建项目的一些配置
  4. mysql数据库架构设计与优化
  5. python2与python3的区别齐全【整理】
  6. 快速改变文件hash值的方法
  7. (转)搭建Elasticsearch和kibana环境
  8. Linux 就该这么学 CH02新手必须掌握的Linux命令
  9. Appium 中使用 pressKeyCode 方法不起作用也没有报错
  10. linux解压xz文件