必须掌握的点

一、

(内存)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的转换以及深拷贝和浅拷贝的区别的更多相关文章

  1. Python 深拷贝和浅拷贝的区别

    python的复制,深拷贝和浅拷贝的区别    在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用  ...

  2. python深拷贝和浅拷贝的区别

    首先深拷贝和浅拷贝都是对象的拷贝,都会生成一个看起来相同的对象,他们本质的区别是拷贝出来的对象的地址是否和原对象一样,也就是地址的复制还是值的复制的区别. 什么是可变对象,什么是不可变对象: 可变对象 ...

  3. Python赋值语句与深拷贝、浅拷贝的区别

    参考:http://stackoverflow.com/questions/17246693/what-exactly-is-the-difference-between-shallow-copy-d ...

  4. js 中引用类型 的深拷贝 和 浅拷贝的区别

    一.曾经在读JQ源码的时候,对深拷贝算是有了一点的理解.我们在项目中是不是经常会遇到这样的问题呢? 后台返回一个数组对象(引用类型).次数在页面渲染中需要对部分数据进行处理 比如:银行卡6234509 ...

  5. c# 深拷贝与浅拷贝的区别分析及实例

    浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的. 深拷贝是指源对象与拷贝对象互相独 ...

  6. Python中深拷贝与浅拷贝的区别

    转自:http://blog.csdn.net/u014745194/article/details/70271868 定义: 在Python中对象的赋值其实就是对象的引用.当创建一个对象,把它赋值给 ...

  7. python深拷贝与浅拷贝的区别

    可变对象:一个对象在不改变其所指向的地址的前提下,可以修改其所指向的地址中的值 不可变对象:一个对象所指向的地址上值是不能修改的,如果你修改了这个对象的值,那么它指向的地址就改变了,相当于你把这个对象 ...

  8. 【python测试开发栈】—理解python深拷贝与浅拷贝的区别

    内存的浅拷贝和深拷贝是面试时经常被问到的问题,如果不能理解其本质原理,有可能会答非所问,给面试官留下不好的印象.另外,理解浅拷贝和深拷贝的原理,还可以帮助我们理解Python内存机制.这篇文章将会通过 ...

  9. JavaScript深拷贝与浅拷贝的区别和实现方式

    如何区分深拷贝和浅拷贝呢,简单来说对象B拷贝了对象A,如果对象A和对象B共用一个对象,对象B改变对象A跟着改变这就是浅拷贝:但如果对象B拷贝了对象A,但是对象A和对象B是分开的,那么就是深拷贝 基本数 ...

随机推荐

  1. vue—生命周期的基本介绍

    Vue生命周期: 什么是生命周期: Vue 实例从创建到销毁的过程,就是生命周期.也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列过程,我们称这是 Vue 的生命周期 ...

  2. selenium弹框元素定位-冻结界面

    有些网站上面的元素,我们鼠标放在上面,会动态弹出一些内容. 比如,百度首页的右上角,有个更多产品选项,如下图所示: 如果我们把鼠标放在上边,就会弹出下面的百度营销.音乐.图片等图标. 如果我们要用se ...

  3. spark机器学一Mllib 数据抽象

    spark 提供了两个机器学习库 MLlib 和 ML,MLlib 是 spark 第一个机器学习库,相比于 ML,它更加成熟 rdd 是 spark core 的数据抽象,dataframe 是 s ...

  4. LLVM的RTTI特性

    本文思路来源于http://llvm.org/docs/HowToSetUpLLVMStyleRTTI.html,叙述有不同,望谅解,希望能从其他方面帮助大家了解C++语言的底层实现. 背景 在LLV ...

  5. ADF为EO的ITEM添加默认值

    Literal:设置为缺省的静态值.Expression:使用 Groovy 表达式设置缺省值.下面是一个表达式,用于将数据库序列(EMPLOYEES_SEQ)作为主键的缺省值:(new oracle ...

  6. Centos 6.5 版本的下载教程

    1.CentOS下载CentOS是免费版,推荐在官网上直接下载,网址:https://www.centos.org/download/ 2.选择版本推荐6.5 3.选择isos 4.根据系统电脑的配置 ...

  7. CHD-5.3.6集群上oozie安装

    参考文档:http://archive.cloudera.com/cdh5/cdh/5/oozie-4.0.0-cdh5.3.6/DG_QuickStart.html tar -zxvf  oozie ...

  8. sql循环-游标、临时表、表变量

    游标 在游标逐行处理过程中,当需要处理的记录数较大,而且游标处理位于数据库事务内时,速度非常慢. -- 声明变量 DECLARE @Id AS Int -- 声明游标 DECLARE C_Id CUR ...

  9. mysql详解常用命令操作,利用SQL语句创建数据表—增删改查

    关系型数据库的核心内容是 关系 即 二维表 MYSQL的启动和连接show variables; [所有的变量] 1服务端启动 查看服务状态 sudo /etc/init.d/mysql status ...

  10. linux后台启动项目命令

    在用xshell启动一个项目后,关闭了xshell后,项目又停止了 nohup python admin.py runserver & nohup ........  &   中间包含 ...