二次编码 深浅拷贝 is和==
1.二次编码
- ascii 不支持中文
- gbk 支持中文 2个字节 包含ascii
- Unicode 万国码 python3 内存Unicode
- utf-8 可变的长度 英文 1字节 欧洲2个字节 亚洲3个字节
- unicode 内存
- 硬盘 utf-8 字节 存储 传送
s = "字符串"
s1= s.encode("utf-8") #编码 编码集
print(s1)#b'xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'
s = "zhy"
s1 = s.encode("utf-8")
print(s1)#b'zhy'
- encode 编码
- decode 解码
s = "赵海宇"
s1 = s.encode("utf-8")
print(s1.decode("utf-8")) #赵海宇
- 应用场景:文件操作 网络传输 网络编程
2.基础数据补充
li = [1,2,3,4,5]
for i in li:
li.append(0)
print(li) #li=[1,2,3,4,5,0,0,0,0,0, ]
li = [1,2,3,4,5]
for i in li:
li.append(i)
print(li) #循环
li = [1,2,3,4,5]
for i in li:
li.remove(i)
print(li)#[2,4]
li = [1,2,3,4,5]
for i in li:
li.pop(i)
print(li)#[1,2]
for i in range(len(li)):
li.pop()
print(li) #[]
3.深浅拷贝
- 浅拷贝 copy
- 只拷贝一层 元素是不可变的 就不会变
- 元素是两个可变的 元素就不会变
li = [1,2,3,4,5]
lst = li.copy()
print(li)#[1, 2, 3, 4, 5]
print(lst)#[1, 2, 3, 4, 5]
li = [1,2,3,4,[5,3,9]]
lst = li.copy()
li[-1].append(55)
print(li)
print(lst)
- 深拷贝
import copy
li = [1,2,3,4,[5,3,9]]
lst = copy.deepcopy(li)
print(lst)#[1,2,3,4,[5,3,9]]
print(lst)#[1,2,3,4,[5,3,9]]
import copy
li = [1,2,3,4,[5,3,9]]
lst = copy.deepcopy(li)
li[-1].append(66)
print(li)#[1, 2, 3, 4, [5, 3, 9, 66]]
print(lst)#[1,2,3,4,[5,3,9]]
4.is == 区别
- == 比较两边的值
- is 比较两边的内存地址
- 代码块 节省资源 一个文件就是一个代码块
- 代码块机制:
- 数字:-5 ~ 256
- 字符串:乘法的时候总长度不能超过20
def fun1():
a=1000
return a
def func2():
a=1000
return a
print(fun1() is func2()) #False
- 小数据池: 代码块 > 小数据池
二次编码 深浅拷贝 is和==的更多相关文章
- Python学习基础(二)——集合 深浅拷贝 函数
集合 # 集合 ''' 集合是无序不重复的 ''' # 创建列表 l = list((1, 1, 1)) l1 = [1, 1, 1] print(l) print(l1) print("* ...
- python之路---07 join() fromkeys() 深浅拷贝
二十四.基本数据类型补充 1.join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. ...
- 【0806 | Day 9】三张图带你了解数据类型分类和Python深浅拷贝
一.数据类型分类 二.Python深浅拷贝
- Python编码、集合set、深浅拷贝
编码 : a.encode(' ') windows 默认编码GBK ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符.没有中⽂, 8个01代码, 8个bi ...
- python基础4(小数据池,编码,深浅拷贝)
1.==与is == 比较值是否相等 is比较内存地址是否相同 2.小数据池 为了节省内存,当数据在一个范围里的时候,两个值相同的变量指向的是小数据池里的同一个地址 数字范围:-5 ~ 256 num ...
- Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数
一.上节课的重点回顾: 1.类名加括号其实就是执行类的__init__方法: 2.int a.创建方式 n1 = 123 #根据int类创建了一个对象 n2 = int(123) #根据int类创建一 ...
- 学习--->更新集合/内存/深浅拷贝
一.计算机基础 1..软件(应用程序) 2.解释器/编译器 - 解释型语言:将代码每一行传递给计算机一行,常用编程语言python,PHP,Ruby. - 编译型语言:将代码完全执行完后会形成一个文 ...
- Python二次编码、小数据池之心照神交
二次编码.解码.小数据池: encode(str:编码):参数编码方式,返回字节码. str_1 = "编码" str_2 = str_1.encode("utf-8&q ...
- day8数据类型补充,集合,深浅拷贝
思维导图: 集合的补充:下面的思维导图有一个点搞错了,在这里纠正一下,没有合集,是反交集,^这个是反差集的意思 . 交集&,反交集^,差集-,并集|,然后就是子集和超集 数据类型补充: ''' ...
随机推荐
- CF #535 (Div. 3) E2 Array and Segments (Hard version) 利用线段树进行区间转移
传送门 题意: 有m个区间,n个a[ i ] , 选择若干个区间,使得整个数组中的最大值和最小值的差值最小.n<=1e5,m<=300; 思路: 可以知道每个i,如果一个区间包含这个 ...
- codeforces 361 C. Levko and Array Recovery(暴力+思维)
题目链接:http://codeforces.com/contest/361/problem/C 题意:对一个数列有这么两个操作 1.(1,l,r,p)..将区间[l,r]所有数都加上p 2.(2,l ...
- Spring 两大核心 IOC 和 AOP
如果你的简历上写着Spring (请详述一下spring的两大核心)这个问题一定会被问到. 一.什么叫IOC 1. IOC 全称(Inversion of Control)-- 控制反转. IOC 只 ...
- Spring中常用的23中设计模式
1.spring 中常用的设计模式有23中 分类 设计模式 创建型 工厂方法模式(FactoryMethod).抽象工厂模式(AbstractFactory).建造者模式(Builder).原型 ...
- 【Nginx】实现动静分离
一.概述 1.1 动态页面与静态页面区别 1.2 什么是动静分离 1.3 为什么要用动静分离 二.Nginx实现动静分离 2.1 架构分析 2.2 配置 三.动静分离与前后分离区别: 四.一些问题 一 ...
- Kubernetes master无法加入etcd 集群解决方法
背景:一台master磁盘爆了导致k8s服务故障,重启之后死活kubelet起不来,于是老哥就想把它给reset掉重新join,接着出现如下报错提示是说etcd集群健康检查未通过: error exe ...
- 【LeetCode】300-最长上升子序列
题目描述 给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 ...
- Vue 利用指令实现禁止反复发送请求
前端做后台管控系统,在某些接口请求时间过长的场景下,需要防止用户反复发起请求. 假设某场景下用户点击查询按钮后,后端响应需要长时间才能返回数据.那么要规避用户返回点击查询按钮无外乎是让用户无法在合理时 ...
- Android图片的缩放效果
一.概述 Android 图片要实现:手势滑动,双击变大,多点触控的效果. 其实是有一定难度的,我们需要用Matrix ,GestureDetector 等等需要完成一个复杂的逻辑才能实现,然而今天我 ...
- 浮动后的 <li> 如何在 <ul> 中居中显示?
百度了许久都没有满意的解决方案,现在终于搞定了. 其实,只要 ul 的父元素 css 样式设了 text-align: center; 然后 ul 设了 display: inline-block; ...