自学Python编程的第\七天----------来自苦逼的转行人

系统 1470 0

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)
            
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论