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是分开的,那么就是深拷贝 基本数 ...
随机推荐
- Java 判断字符是大写小写或者数字
使用character类 Character.isLowerCase(Schar.charAt(i)) //获取字符串Schar中的某一个字符然后借用character类的方法来判断是不是小写. 其他 ...
- hdu 1869 枚举+Dijstra
一点小变形就是了..] #include<iostream> #include<cstdio> #define maxn 201 #define inf 999999 usin ...
- el-table el-column selection disable
几个要点: 1.通过 selectable 绑定 2.绑定的方法只能返回0/1 <el-table-column type="selection" width="5 ...
- JS 验证字符串是否能转为json格式
var isJSON=function (str) { if (typeof str == 'string') { try { var obj = JSON.parse(str); if (typeo ...
- sql server的循环语句
WITH TEST_CTEAS(SELECT id,position,Parentid,Cast(Parentid AS NVARCHAR(4000)) AS PATHFROM op_client_s ...
- vue学习(10)-vue-resource
下载:cnpm i vue-resource --save 在main.js导入包:import VueResource from 'vue-resource' 安装:Vue.use(VueResou ...
- struts-2.5.14.1 中web.xml的基本配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...
- tomcat 部署 React 项目后,浏览器刷新报404问题
问题:tomcat部署了react前端项目,可以正常访问,但是页面刷新就报404 一.问题截图 二.解决办法 在tomcat 配置文件web.xml中配置如下代码: web.xml 路径: apach ...
- 每天一个Linux命令之:chage
命令简介: 该命令用于密码时效管理.它可以修改账号和密码的有效期.对于chage命令的描述如下所示: The chage command changes the number of days betw ...
- 调查问卷WebApp
1. 效果演示 2. 主要知识点 使用slot分发内容 动态组件 组件通信 实例的生命周期 表单 3. 遇到的问题 bus 通信 第一次 $on 监听不到 // 解决bus 第一次通信 $on 监听不 ...