python:千磨万击还坚劲,任尔东西南北风.

Python,千磨万击还坚劲,任尔东西南北风

2018年8月3日   前情回顾与今日学习

一. 上次内容回顾
1. is 和==的区别
        id() id()---获取内存地址

id:数字或字符或字母在内存中的存储地址

python中存在一个小数据池的概念
python中两个数据类型存在小数据池:
小数据池中整数范围是int: -5 ~ 256
str: 字符串:字符串中不能包含特殊符号+-*/ 等等

 

小数据池的存在可以节省运行内存,优化代码运行
is 和== 有什么区别:
is 比较的是内存地址.
== 比较的是两边的值
2. 再谈编码
1. ASCII, 支持英文, 数字, 一些特殊符号 8bit(位) 1byte(字节)
2. GBK, 国标码, 汉字. 16bit 2byte 必须兼容ASCII
3. UNICODE, 万国码, 32bit 4byte , 兼容ASCII
4. UTF-8 可变长度的万国码
英文: 8bit 1byte
欧洲: 16bit 2byte
汉字: 24bit 3byte

python2的版本. 默认使用ASCII
python3的版本. 默认使用unicode. 在计算的时候会非常方便
在网络传输和数据存储的时候. 换gbk, utf-8(90%)
编码(encode): unicode变成你需要的编码

 

 

b’alex,中的b’指的是byte

 

 

 

 

 

 

 

用什么编码,就用什么解码

 

encode 编码 打印输出拿到明文编码后对应的字节decode   解码   将编码后的字节解码成对应的明文
编码之后的内容是字节(bytes类型)
解码(decode): 把目标bytes转换成字符串
二. 作业讲解

 

 

三. 今日主要内容

字符串是未来使用频率最高的数据类型,字符串不可变.

 

 

 

这两个独立的列表,内存地址是不一样的

一.

 

 

 

 

 

 

 

 

 

 

 

 

 

作业讲解:

老男孩海选,评委选手打分,是个评委,十个分数,评委所打的分数必须大于5分小于10分.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 对之前的知识点进行补充.
1. str中的join方法. 把列表转换成字符串

 



 

 

2. 列表和字典在循环的时候不能直接删除.
需要把要删除的内容记录在新列表中.
然后循环新列表.删除字典或列表

 

 

列表中的元素无法删除干净,是因为当列表中第一个元素(索引为0)被删除掉以后,后面的元素会向前移动.第二次循环会指向索引为1的元素进行删除

紫云,大云,玉溪,紫钻,a,b

  0    1     2   3   4  5

紫云被删除掉以后,大云的索引变成[0],而循环会+1指向玉溪进行删除,所以上面的元素无法删除干净.

 

 

 

 

 

 

 

 

字典在自身循环的时候不允许改变大小

 

 

 

 

3. fromkeys()
1. 返回新字典. 对原字典没有影响
2. 后面的value.是多个key共享一个value


二. set集合

 



set集合本身是可变的数据类型,不可哈希. 可变类型就有增删改查. set集合没有索引.

 

差集

 

 

set集合的很重要的用途就是用来去重

 

 

特点:
无序, 不重复, 元素必须可哈希(不可变)
作用:
去重复
本身是可变的数据类型. 有增删改查操作.
 frozenset()冻结的集合. 不可变的. 可哈希的
 三. 深浅拷贝(难点)


 

 

 

 

 

 

 

 

浅拷贝,只是拷贝表面的内容,如上图lst2是拷贝lst1的,但是两个列表共用一个嵌套的小列表

 

 

 

 

 

1. 赋值. 没有创建新对象. 公用同一个对象
 2. 浅拷贝. 拷贝第一层内容. [:]或copy()
 3. 深拷贝. 拷贝所有内容. 包括内部的所有.

原文地址:https://www.cnblogs.com/rydong/p/9415496.html