一:id 查询内存地址

name = 'alex'
print(id(name))
li = [1,2,3]
print(id(li))

二:is  判断的是内存地址

name1 = 'alex@'
name2 = 'alex@'
print(name1 == name2)
print(name1 is name2)

三:小数据池

小数据池主要是针对数字,字符串两种类型而言的,对于数字而言,其范围在-5--256之间,对于字符串而言,如果其全部由字母组成,都是指向一个内存地址。如果是数字与str(单个字母)想乘,则20以内(包含20)的是同一个内存地址,其他数据类型 则没有小数据池概念。

四:编码知识进阶

1,不同编码之间是不能互相识别对方的二进制,会报错,或者产生乱码.
2,在你的字符串(文件),存储,传输时,必须使用非unicode的二进制(01010101).
3,py3:字符串:编码方式(在内存中的运行方式):默认都是unicode.

4,字符串和字节的关系

byte       对于非中文: 表现形式:  b'alex'                                                 内部编码:  utf-8 gbk,gb2312...(非unicode) 你设定的.

对于中文:  表现形式:  b'xe3\xf2\x36\xe3\xf2\x36\'                   内部编码:  utf-8 gbk,gb2312...(非unicode) 你设定的.

str          对于非中文: 表现形式:  'alex'                  内部编码: unicode

对于中文:   表现形式:  '中国'                   内部编码: unicode

5,str和byte的转化

1,当字符串为英文时,程序如下:

s = 'alex'
b = s.encode('utf-8')
b1 = s.encode('gbk')
print(s,type(s))
print(b,type(b))
print(b1,type(b1))

2,当字符串为中文时,程序如下:

s = '中国'
b = s.encode('utf-8')
b1 = s.encode('gbk')
print(s,type(s))
print(b,type(b))
print(b1,type(b1))
 

id,is的用法,小数据池的概念及编码知识进阶的更多相关文章

  1. python之路day06--python2/3小区别,小数据池的概念,编码的进阶str转为bytes类型,编码和解码

    python2#print() print'abc'#range() xrange()生成器#raw_input() python3# print('abc')# range()# input() = ...

  2. Python基础篇 -- 小数据池和再谈编码

    小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 = ...

  3. day 006 小数据池和再谈编码

    1.小数据池. 目的:缓存我们的字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存: int str bool int 范围:-5~256 str: 1.长度小于等于1,直接缓存 2.长度大 ...

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

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

  5. Python基础学习Day6 is id == 区别,代码块,小数据池 ---->>编码

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

  6. 323 id与小数据池

    a = 1000b = 1000print(a == b)== 比较的是数值is 比较的是内存地址.print(a is b)查看内存地址id()print(id(a))print(id(b)) 小数 ...

  7. python基础之小数据池

    一,id,is,== 在Python中,id是什么?id是内存地址,比如你利用id()内置函数去查询一个数据的内存地址: name = '太白' print(id(name)) # 158583128 ...

  8. python代码块,小数据池,驻留机制深入剖析

    一,什么是代码块. 根据官网提示我们可以获知: 根据提示我们从官方文档找到了这样的说法: A Python program is constructed from code blocks. A blo ...

  9. day06 内存地址 小数据池缓存机制

    1. 内存相关 示例一 v1=[11,22,33] v2=[11,22,33] #值相等 内存地址不等 v1=11 v2=11 #按理说内存地址应该不等,但是python为了优化使其内存地址相等 v1 ...

随机推荐

  1. Struts2思维导图

    自己感觉自己的知识不是很扎实,所以昨天留时间复习知识,昨天边复习边画了一个思维导图.不知道自己画的对不对,还没有画完.有错的地方大家请和我说.希望自己能更加牢固的记住这些知识. 不说废话,开图.图有点 ...

  2. 用grant命令为用户赋权限以后,登录时,出现:ERROR 1045 (28000)

    ERROR 1045(28000)信息是因为权限的问题.这个ERROR分为两种情况: 第一种: ERROR 1045 (28000): Access denied for user 'root'@'l ...

  3. virtuoso数据库的安装方法

    数据库virtuoso有两种安装配置方式 第一种就是直接在系统中默认安装,拷贝virtuoso的安装文件,直接默认安装. 第二种是配置安装方式 参考地址:http://vos.openlinksw.c ...

  4. Virtualbox虚拟机安装与设置

    Virtualbox与VMware类似,都是虚拟机软件,在win10下安装Virtualbox直接默认安装即可.版本:VirtualBox-5.2.0-118431-Win.exe 安装完成后,点击左 ...

  5. java历史版本下载地址

    备忘以便查阅 http://www.oracle.com/technetwork/java/archive-139210.html

  6. 【二分图】洛谷P1640连续攻击游戏

    题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...

  7. Error: Your project contains C++ files but it is not using a supported native build system

    我在编写有关JNI的代码的时候回报这个错误,我在网上搜了相关的资料后,找到了一篇文章解决了这个问题,点击这里查看这篇文章,我在照着这篇文章尝试的时候,总有一些错误,现在我把自己详细的解决流程贴出来,供 ...

  8. centos设置程序开机自启或禁止加载

    1. 可以直接把需要启动的脚本写到/etc/rc.d/rc.local文件里,例如 vim /etc/rc.d/rc.local /usr/local/apache/bin/apachectl sta ...

  9. Core Animation文档翻译 (第一篇)

    Core Animation 文档翻译(第一篇) 前言 作为iOS 开发,官方文档的阅读是很有必要的,值此周末便写下此文.作为iOS 实际经验3年的开发,之前有阅读并实践过经典的<iOS核心动画 ...

  10. java.io与网络通信

    文件IO java.io.File是用于操作文件或目录的类: File file = new File("hello.txt"); 实例化File时不关心路径的目标并不会去读取文件 ...