1.二次编码

  1. ascii 不支持中文
  2. gbk 支持中文 2个字节 包含ascii
  3. Unicode 万国码 python3 内存Unicode
  4. 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

    1. 只拷贝一层 元素是不可变的 就不会变
    2. 元素是两个可变的 元素就不会变
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和==的更多相关文章

  1. Python学习基础(二)——集合 深浅拷贝 函数

    集合 # 集合 ''' 集合是无序不重复的 ''' # 创建列表 l = list((1, 1, 1)) l1 = [1, 1, 1] print(l) print(l1) print("* ...

  2. python之路---07 join() fromkeys() 深浅拷贝

    二十四.基本数据类型补充 1.join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代.  获取到的每个元素和前面的*进行拼接.  ...

  3. 【0806 | Day 9】三张图带你了解数据类型分类和Python深浅拷贝

    一.数据类型分类 二.Python深浅拷贝

  4. Python编码、集合set、深浅拷贝

    编码 : a.encode(' ')     windows 默认编码GBK ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符.没有中⽂, 8个01代码, 8个bi ...

  5. python基础4(小数据池,编码,深浅拷贝)

    1.==与is == 比较值是否相等 is比较内存地址是否相同 2.小数据池 为了节省内存,当数据在一个范围里的时候,两个值相同的变量指向的是小数据池里的同一个地址 数字范围:-5 ~ 256 num ...

  6. Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数

    一.上节课的重点回顾: 1.类名加括号其实就是执行类的__init__方法: 2.int a.创建方式 n1 = 123 #根据int类创建了一个对象 n2 = int(123) #根据int类创建一 ...

  7. 学习--->更新集合/内存/深浅拷贝

     一.计算机基础 1..软件(应用程序) 2.解释器/编译器 - 解释型语言:将代码每一行传递给计算机一行,常用编程语言python,PHP,Ruby. - 编译型语言:将代码完全执行完后会形成一个文 ...

  8. Python二次编码、小数据池之心照神交

    二次编码.解码.小数据池: encode(str:编码):参数编码方式,返回字节码. str_1 = "编码" str_2 = str_1.encode("utf-8&q ...

  9. day8数据类型补充,集合,深浅拷贝

    思维导图: 集合的补充:下面的思维导图有一个点搞错了,在这里纠正一下,没有合集,是反交集,^这个是反差集的意思 . 交集&,反交集^,差集-,并集|,然后就是子集和超集 数据类型补充: ''' ...

随机推荐

  1. CF #535 (Div. 3) E2 Array and Segments (Hard version) 利用线段树进行区间转移

    传送门 题意:    有m个区间,n个a[ i ] , 选择若干个区间,使得整个数组中的最大值和最小值的差值最小.n<=1e5,m<=300; 思路: 可以知道每个i,如果一个区间包含这个 ...

  2. 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 ...

  3. Spring 两大核心 IOC 和 AOP

    如果你的简历上写着Spring (请详述一下spring的两大核心)这个问题一定会被问到. 一.什么叫IOC 1. IOC 全称(Inversion of Control)-- 控制反转. IOC 只 ...

  4. Spring中常用的23中设计模式

    1.spring 中常用的设计模式有23中  分类  设计模式  创建型 工厂方法模式(FactoryMethod).抽象工厂模式(AbstractFactory).建造者模式(Builder).原型 ...

  5. 【Nginx】实现动静分离

    一.概述 1.1 动态页面与静态页面区别 1.2 什么是动静分离 1.3 为什么要用动静分离 二.Nginx实现动静分离 2.1 架构分析 2.2 配置 三.动静分离与前后分离区别: 四.一些问题 一 ...

  6. Kubernetes master无法加入etcd 集群解决方法

    背景:一台master磁盘爆了导致k8s服务故障,重启之后死活kubelet起不来,于是老哥就想把它给reset掉重新join,接着出现如下报错提示是说etcd集群健康检查未通过: error exe ...

  7. 【LeetCode】300-最长上升子序列

    题目描述 给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 ...

  8. Vue 利用指令实现禁止反复发送请求

    前端做后台管控系统,在某些接口请求时间过长的场景下,需要防止用户反复发起请求. 假设某场景下用户点击查询按钮后,后端响应需要长时间才能返回数据.那么要规避用户返回点击查询按钮无外乎是让用户无法在合理时 ...

  9. Android图片的缩放效果

    一.概述 Android 图片要实现:手势滑动,双击变大,多点触控的效果. 其实是有一定难度的,我们需要用Matrix ,GestureDetector 等等需要完成一个复杂的逻辑才能实现,然而今天我 ...

  10. 浮动后的 <li> 如何在 <ul> 中居中显示?

    百度了许久都没有满意的解决方案,现在终于搞定了. 其实,只要 ul 的父元素 css 样式设了 text-align: center; 然后 ul 设了 display: inline-block; ...