一、is 和==的区别

1、is 比较的是左右两边的内存地址, ==比较的是左右两边的值。

2、id()

通过id()可以查看一个变量表示的值得内存中的地址。

s = 'alex'
s1 = 'alex'
print(id(s)) #
print(id(s1)) # lst = [1,2,4]
lst1 = [1,2,4]
print(id(lst)) #
print(id(lst1)) #
  字符串,部分数字的数据地址是一样的,而列表,元组,字典的数据地址是不一样的,这是因为python中有一个小数据池的存在。

3、小数据池
小数据池(常量池):把我们使用过的值存储在小数据池中,供其他的变量使用。
小数据池给数字和字符串使用,其它数据类型不存在。
对于数字:
-5~256是会被加到小数据池中的,每次使用都是同一个对象。
对于字符串:
1)如果是纯文字信息和下划线,那么这个对象会被添加到小数据池
2)如果是带有特殊字符的,那么不会被添加到小数据池,每次都是新的
3)如果是单一字母*n的情况,a*20,在20个单位内是可以的,超过20个单位就不会添加到小数据池中。 二、编码和解码
注意:在python2中默认使用的是ASCII码,不支持中文,如果需要在python2中更改编码需要在文件的开始编写:
# -*-encoding:utf-8 -*-

在python3中:内存中使用的是unicode。

1、编码(encode)

编码之后的数据类型是bytes类型的数据

bytes的表现形式:

1)英文    编码之后的结果和源字符串一致   如b‘alex’

2)中文     编码之后的结果根据编码的不同,编码结果也不同,一个中文的UTF-8是三个               字节,GBK是两个字节

字符串在传输时转化成bytes=>encode(字符集)来完成

2、解码(decode)

在网络传输和存储的时候我们python是保存和存储的bytes类型,那么在对方接收的时候,接收到的也是bytes类型,我们可以使用decode()来进行解码操作,把bytes类型的数据还原回我们熟悉的字符串:

												

2018.8.2 python中is和==的区别的更多相关文章

  1. python中// 和/有什么区别

    python中// 和/有什么区别 通常C/C++中,"/ " 算术运算符的计算结果是根据参与运算的两边的数据决定的,比如: 6 / 3 = 2 ; 6,3都是整数,那么结果也就是 ...

  2. Python中__repr__和__str__区别

    Python中__repr__和__str__区别 看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): ...

  3. 2018.8.15 python 中的sorted()、filter()、map()函数

    主要内容: 1.lambda匿名函数 2.sorted() 3.filter() 4.map() 5.递归函数 一. lambda匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 ...

  4. 2018.8.14 python中的内置函数(68个)

    主要内容: python中68个内置函数的功能及使用方法

  5. 2018.8.13 python中生成器和生成器表达式

    主要内容: 1.生成器和生成器函数 2.列表推导式 一.生成器 生成器是指就是迭代器,在python中有三种方式来获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的转换也 ...

  6. 2018.8.9 python中的动态传参与命名空间

    主要内容: 1.函数参数 ----动态传参 2.名称空间与作用域 3.函数的嵌套 4.global,nonlocal关键字 一.函数参数 ------动态传参 形参的第三种:动态传参 动态传参分为两种 ...

  7. 在python 中is和= = 的区别

    Python中的对象包含三要素:id.type.value其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值is判断的是a对象是否就是b对象,是通过id来判断的==判断的是a对 ...

  8. Python中is和==的区别

    Python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么. 在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识) ...

  9. Python中classmethod与staticmethod区别

    classmethod:类方法staticmethod:静态方法 在python中,静态方法和类方法都是可以通过类对象和类对象实例访问.但是区别是: @classmethod 是一个函数修饰符,它表示 ...

随机推荐

  1. Spring boot 官网学习笔记 - Using Spring Boot without the Parent POM,但是还要使用Parent POM提供的便利

    If you do not want to use the spring-boot-starter-parent, you can still keep the benefit of the depe ...

  2. 基于SpringBoot + Mybatis实现 MVC 项目

    1.预览: (1)完整项目结构 (2) 创建数据库.数据表: [user.sql] SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- ...

  3. 利用echarts展示旅行足迹

    前言 一直有个环游世界的梦,周游列国,体验不同国家的人类文明,寻山访水,体验造物主大自然的伟大造化.毕竟人生不止眼前的苟且,还有诗和远方.这么多年以来,陆续走过了一些地方,每到一个地方,都让我离梦想又 ...

  4. springboot 项目打包部署后设置上传文件访问的绝对路径

    1.设置绝对路径 application.properties的配置 #静态资源对外暴露的访问路径 file.staticAccessPath=/upload/** #文件上传目录(注意Linux和W ...

  5. App Crawler

    Google官方出了一款App遍历工具App Crawler. 文档:https://developer.android.google.cn/training/testing/crawler App ...

  6. tensorflow中添加L2正则化损失

    方法有几种,总结一下方便后面使用. 1. tensorflow自动维护一个tf.GraphKeys.WEIGHTS集合,手动在集合里面添加(tf.add_to_collection())想要进行正则化 ...

  7. 【SQLServer】 查询一个字段里不同值的最新一条记录

    查询用户编号为1165的所有数据: ,,,,,) ' order by JianCeID desc 查询用户编号为1165且监测参数为(1,2,7,15,19,20)的最新数据: select * f ...

  8. 你真的懂Spring Java Config 吗?Full @Configuration vs lite @Bean mode

    Full @Configuration和lite @Bean mode 是 Spring Java Config 中两个非常有意思的概念. 先来看一下官方文档关于这两者的相关内容: The @Bean ...

  9. mac系统Intellij Idea的java环境配置:JDK + Tomcat + Maven

    一.JAVA JDK查看与配置 1.查看java路径详细信息: /usr/libexec/java_home -V 2.java默认路径 jdk1.6: /System/Library/Java/Ja ...

  10. e课表项目第二次冲刺周期第六天

    昨天干了什么? 昨天是这次冲刺周期的第五天,我们的冲刺周期已经快过了一半,我们已经实现了对第一层界面的设计,所以我们的进度和我们的时间正好吻合,所以我们有信心完成我们的软件.我在网上搜了一些关于监听的 ...