一、python2 python3的区别

  默认编码:2--ASCII码  3---UTF-8

  print:python2 可以不需要加括号(),python3必须加括号

  python2中有range,还有xrange--生成器,可转换成range;python3中只有range

  python2中的input,raw_input(); python3:input()

二、

1.  = 是赋值  == 是比较值是否相等  is也是比较,比较的是内存地址(看是不是一个东西)  id(内容) :内存地址

# li1 = [1,2,3]
# li2 = li1
# li3 = li2
# print(id(li1),id(li2)) 改变一个,另一个也会改变

2.数字,字符串---小数据池(节省内存)

#数字,字符串 小数据池
#数字的范围 -5 -- 256
#字符串:1,不能有特殊字符
# 2,s*20 还是同一个地址,s*21以后都是两个地址
# i1 = 6
# i2 = 6
# print(id(i1),id(i2)) 一样的
# i1 = 300
# i2 = 300
# print(id(i1),id(i2)) 不一样。pycharm显示一样是其影响,应在终端里操作。

其他的:list dict tuple set 无数据池概念

三、编码进阶

ascii
A : 00000010 8位 一个字节 unicode A : 00000000 00000001 00000010 00000100 32位 四个字节
中:00000000 00000001 00000010 00000110 32位 四个字节 utf-8 A : 00100000 8位 一个字节
中 : 00000001 00000010 00000110 24位 三个字节 gbk A : 00000110 8位 一个字节
中 : 00000010 00000110 16位 两个字节
1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)

utf-8与gbk互相转化,需先转换成Unicode;

py3:
  str 在内存中是用unicode编码。  问题:文件不能传输。(文件可理解成大字符串) 需转换成utf-8或gbk方式存储传输。

    bytes类型(数据类型的一种,跟字符串很像) 编码方式为utf-8或gbk或gb2312。

所以要将str转为bytes

对于英文:
    str :表现形式:s = 'alex'
        编码方式: 010101010 unicode
    bytes :表现形式:s = b'alex'
        编码方式: 000101010 utf-8 gbk。。。。

对于中文:
    str :表现形式:s = '中国'
        编码方式: 010101010 unicode
    bytes :表现形式:s = b'x\e91\e91\e01\e21\e31\e32'  十六进制,人看不懂(三个字节一个中文)若两个字节表示一个中文,则时GBK
        编码方式: 000101010   utf-8   gbk。。。。

如何将str转换成bytes类型?

s1 = 'alex'
# encode 编码,如何将str --> bytes, ()
s11 = s1.encode('utf-8')
s11 = s1.encode('gbk')
print(s11)  #b'alex'
s2 = '中国'
s22 = s2.encode('utf-8')
s22 = s2.encode('gbk')
print(s22)
s11 = s1.encode('utf-8')

python数据池,python3编码str转bytes,encode的更多相关文章

  1. python学习笔记:第6天 小数据池和编码转换

    目录 1. id 和 == 2. 小数据池 3. 编码和解码 1. id 和 == id:id是一个内置的函数,可以查看变量存放的内存地址(实际上不是真正的物理地址,这里暂时这样理解),用于判断是变量 ...

  2. python小整数与str数据池,编码关系

    1.小数据池:数字,字符串 数字的范围-5 ---256 字符串:1,不能有特殊字符 2,s*20 还是一个地址,s*21以后都是两个地址 2.编码关系:ascii A : 00000010 8位 一 ...

  3. python 浅谈小数据池和编码

    ⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code b ...

  4. 《Python》 代码块、小数据池和编码转换

    一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行 ...

  5. python:id与小数据池与编码

    一.id与小数据池 id:查的是内存地址 a = 100 b = 100 print(a == b)#比较的数值 print(a is b)#比较的是id print(id(a),id(b))#id相 ...

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

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

  7. python摸爬滚打之day06----小数据池、编码解码

    1.小数据池 代码块:  一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一个文件也是一个代码块.而不需要创建一个新的数据. 这样会节省更多的内存区域. 在cmd命令行 ...

  8. 06_python_小数据池/ is == /编码

    一.小数据池 1.代码块 python程序是由代码块构成的.一个代码块的文本作为python程序执行的单元.代码块: 一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一 ...

  9. day06 小数据池和编码

    一. 上次课内容回顾字典:由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据key: 不可变的. 可哈希的.增删改查:1. 增加: 直接用新key来赋值. dict[key] = ...

随机推荐

  1. sqlalchemy之create_engine和session

    sqlalchemy之create_engine和session orm 实质上,一个O/R Mapping会为你生成DAL.(即为数据访问层(Data Access Layer).其功能主要是负责数 ...

  2. win7+vs2010配置驱动开发环境(问题种种版...)

     本来按照这个来做,能跑通helloworld,可是复杂的驱动就会出错....不知道什么原因,后来就直接用命令行来编译的. -------------------------------------- ...

  3. LeetCode 744. Find Smallest Letter Greater Than Target (寻找比目标字母大的最小字母)

    题目标签:Binary Search 题目给了我们一组字母,让我们找出比 target 大的最小的那个字母. 利用 binary search,如果mid 比 target 小,或者等于,那么移到右半 ...

  4. MongoDB点滴

    0 http://blog.csdn.net/mydeman/article/details/6652387 1 MongoDB 内置连接池,不需要使用额外的连接池驱动 Note: The Mongo ...

  5. elasticsearch的基本用法(转载)

    本文出自:http://blog.csdn.net/feelig/article/details/8499614 最大的特点:  1. 数据库的 database, 就是  index  2. 数据库 ...

  6. 创建一个学生表student,默认的表空间为users,字段自定,同时为表的各个字段分别添加合适的约束,然后测试约束的验证状态。

    create table student(id number(4) constraint prim_key primary key,name varchar(8) not null,sex varch ...

  7. [课后作业] 第001讲:我和Python的第一次亲密接触 | 课后测试题的答案

    0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方式快速完成某些 ...

  8. 网络请求NSLog结果不全

    碰到了两次 NSLog请求结果只有一部分 如果NSLog语句中没有汉语就可以全部输出了,不清楚原因. NSLog(@"%@",object);//这样结果是全的 NSLog(@&q ...

  9. Spark与Hadoop的对比

  10. 关于 第三方接口支付的时候 采用post提交的方式,有两种 一种是通过 curl来进行,一种是通过js当页面加载完后跳转

    这是第一种.通过javascript页面加载完后,对表单采用 post方式提交给 第三方接口----- echo <<<_END<!DOCTYPE html PUBLIC &q ...