Unicode 和utf-8的转换以及深拷贝和浅拷贝的区别
必须掌握的点
一、
(内存)Unicode二进制字符>>>>>>编码(encode)>>>>>>(硬盘)utf-8二进制字符
(硬盘)utf-8二进制字符>>>>>>解码(decode)>>>>>>(内存) unicode二进制字符
二、
用什么编码存的数据,就用什么编码取
我们中国这边的操作系统
windows默认的是GBK
pycharm默认的是utf-8
文件头:#coding:utf-8
python2:默认的字符编码是ASCII码(因为当时的Unicode还没盛行)
python3:默认的字符编码是utf-8
现在的计算机:
内存都是:Unicode
硬盘都是:utf-8
文件头:
#coding:utf-8
用英文字符,是为了让所有的计算机都可以识别。
深浅拷贝
l1 = [1,'a',[4,5,6]]
print(l1)
print(id(l1)) l2 = l1.copy()
l2[2][1] = 555
print(l2)
print(id(l2)) print(id(l1[2][1]))
print(id(l2[2][1]))
import copy l1 = [257,"a",[4,5,6]]
print(l1)
print(id(l1)) print(id(l1[2][1])) l2 = copy.deepcopy(l1)
l2[0]= 1000
print(id(l2)) print(id(l2[2][1])) 深拷贝,需要import一个copy的库,这样才可以进行深拷贝。 1、什么是文件?
操作系统提供给你操作硬盘的一个工具 2、为什么要用文件?
因为人类和计算机要永久保存数据 3、怎么用文件
相对路径:a.txt #必须与当前py文件在同一级目录
绝对路径(举例)D:\项目路径\pythonxx期\dayxx\a.txt f = open("a.txt")
print(f.readable()) #判断当前文件是否可读
print(f.writable()) #判断当前文件是否可写 del f #回收变量资源
f.close() #回收操作系统的资源 举例
with open(“a.txt”,mode="r")as rf,\
open("a.txt",mode="w")as wf: #with会自动帮你回收操作系统的资源,无需自己操作
print(rf.readable())
print(wf.writable()) r进行转义
with open(r'D:\项目路径\pythonxx期\dayxx\a.txt')as f:
print(f.read()) #读取文件
Unicode 和utf-8的转换以及深拷贝和浅拷贝的区别的更多相关文章
- Python 深拷贝和浅拷贝的区别
python的复制,深拷贝和浅拷贝的区别 在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 ...
- python深拷贝和浅拷贝的区别
首先深拷贝和浅拷贝都是对象的拷贝,都会生成一个看起来相同的对象,他们本质的区别是拷贝出来的对象的地址是否和原对象一样,也就是地址的复制还是值的复制的区别. 什么是可变对象,什么是不可变对象: 可变对象 ...
- Python赋值语句与深拷贝、浅拷贝的区别
参考:http://stackoverflow.com/questions/17246693/what-exactly-is-the-difference-between-shallow-copy-d ...
- js 中引用类型 的深拷贝 和 浅拷贝的区别
一.曾经在读JQ源码的时候,对深拷贝算是有了一点的理解.我们在项目中是不是经常会遇到这样的问题呢? 后台返回一个数组对象(引用类型).次数在页面渲染中需要对部分数据进行处理 比如:银行卡6234509 ...
- c# 深拷贝与浅拷贝的区别分析及实例
浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的. 深拷贝是指源对象与拷贝对象互相独 ...
- Python中深拷贝与浅拷贝的区别
转自:http://blog.csdn.net/u014745194/article/details/70271868 定义: 在Python中对象的赋值其实就是对象的引用.当创建一个对象,把它赋值给 ...
- python深拷贝与浅拷贝的区别
可变对象:一个对象在不改变其所指向的地址的前提下,可以修改其所指向的地址中的值 不可变对象:一个对象所指向的地址上值是不能修改的,如果你修改了这个对象的值,那么它指向的地址就改变了,相当于你把这个对象 ...
- 【python测试开发栈】—理解python深拷贝与浅拷贝的区别
内存的浅拷贝和深拷贝是面试时经常被问到的问题,如果不能理解其本质原理,有可能会答非所问,给面试官留下不好的印象.另外,理解浅拷贝和深拷贝的原理,还可以帮助我们理解Python内存机制.这篇文章将会通过 ...
- JavaScript深拷贝与浅拷贝的区别和实现方式
如何区分深拷贝和浅拷贝呢,简单来说对象B拷贝了对象A,如果对象A和对象B共用一个对象,对象B改变对象A跟着改变这就是浅拷贝:但如果对象B拷贝了对象A,但是对象A和对象B是分开的,那么就是深拷贝 基本数 ...
随机推荐
- Python 【函数】
函数 内置函数print() input() len() type() ... print('Hello World') 函数 参数 定义函数def greet(name): print(name+' ...
- 怎样理解xhr.overrideMimeType()和xhr.responseType
一般情况下, 我们会通过 xhr.responseType 告诉服务器我们想要什么类型的返回数据. 然后xhr.response 会根据xhr.responseType属性值来自动解析返回值. 但有时 ...
- Ubuntu18.04通过网线共享网络
Ubuntu18.04通过网线共享网络 这几天要给实验室一个新电脑装系统,但是实验室路由器好像有点问题,所以决定共享我的笔记本的网络,但是搜了很多教程都是基于Ubuntu16.04的,而Ubuntu1 ...
- 在QT中添加LIB的方法
注意:-L后面跟着的目录不能用空格,否则会出现读不到的情况. 例如win32下添加D:\app\my.lib 就 pro文件中 LIBS += -LD:\app\debug\ -lmy
- JavaScript随机验证码
利用canvas制作一个随机验证码: 1.clearRect:context.clearRect(x,y,width,height);清空给定矩形内的指定像素 2.fillStyle:设置画笔的颜色 ...
- HTML给标题栏添加图标
<link rel="icon" href="images/logo.icon" type="image/x-icon"> 也可 ...
- sql server 查看表中某一字段的排序规则
SELECT o.name,o.object_id,c.name,c.column_id,c.collation_name FROM sys.columns c JOIN sys.obj ...
- 关于iReport5.6.0无法正常启动或者闪退或者JDK8不兼容的解决方案
参考网址: https://blog.csdn.net/erlian1992/article/details/76359191?locationNum=6&fps=1 说白了 ,即 jaspe ...
- STM32启动BOOT0 BOOT1设置方法
原理图 启动方式 第一种启动方式是最常用的用户FLASH启动.默认启动方式 第二种启动方式是STM32内嵌的SRAM启动.该模式用于调试 第三种启动方式是系统存储器启动方式,不建议使用这种,速度比较慢 ...
- mORMot学习笔记2-2种方式查询数据
本例使用SqlServer 第一种方式结果放入Memo控件,,需要引用SynCommons, SynDB, SynOleDb; procedure TForm1.Button1Click(Sender ...