Python中关键字is与==的区别简述

2013-10-19  来源:本站原创  分类:Python  人气:3 

这篇文章主要介绍了Python中关键字is与==的区别,对于Python初学者有一定的借鉴学习价值,需要的朋友可以参考下

本文以简单示例分析了python中关键字is与 ==的区别,供大家参考一下。

首先说明一下Python学习中几个相关的小知识点。

Python中的对象包含三要素:id、type、value
其中:id用来唯一标识一个对象,type标识对象的类型,value是对象的值

is判断的是a对象是否就是b对象,是通过id来判断的

==判断的是a对象的值是否和b对象的值相等,是通过value来判断的

具体示例如下:

>>> a=100
>>> b=100.0
>>> a is b
False
>>> a==b
True
>>> id(a)
30696848L
>>> id(b)
48685000L
>>> id(a)==id(b)
False
相关文章
  • Python中关键字is与==的区别简述 2013-10-19

    这篇文章主要介绍了Python中关键字is与==的区别,对于Python初学者有一定的借鉴学习价值,需要的朋友可以参考下 本文以简单示例分析了python中关键字is与 ==的区别,供大家参考一下. 首先说明一下Python学习中几个相关的小知识点. Python中的对象包含三要素:id.type.value其中:id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来判断的 ==判断的是a对象的值是否和b对象的值相等,是通过valu

  • Python中关键字is与==的区别 2014-10-21

    一.Python学习中几个相关的小知识 Python中的对象包含三要素: id. type.value id用来唯一表示一个对象 type标识对象的类型 value是对象的值 二.is与==的区别 is判断的是a对象是否就是b对象,是通过id来判断的 ==判断的是a对象的值是否和b对象的值相等,是通过value来判断的 三.示例 >>> a = 100 >>> b = 100.0 >>> a is b False >>> a == b

  • python中xrange和range的区别 2014-03-30

    这篇文章主要介绍了python中xrange和range的区别,需要的朋友可以参考下 range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. range示例: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2) [0, 2, 4] xrange 函数说明:用法与

  • Python中__init__和__new__的区别详解 2014-11-13

    这篇文章主要介绍了Python中__init__和__new__的区别详解,并着重说明了__new__的作用及什么情况下使用__new__,需要的朋友可以参考下 __init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候.例如: # -*- coding: utf-8 -*- class Person(object): """Silly Person"&

  • 关于python中不同版本的print区别 2013-05-02

    最近有时候会看看python的一些东西.也看了一些入门教程,但是发现一个问题是,在用print的时候老是报错: 报错如下: 提示print a这句有语法问题.但是看的教程里面都有这样写的,没有问题啊. 忽然想到以前同学说过python2系列和3系列里面有区别的.就上网查了一下.解释如下: print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) Print objects to the stream file, separa

  • python 中readline 和readlines的区别 2012-08-01

    f0=file("ip.txt",r) while true for line in f0.readli if not line: break pass #do something readline 的用法,速度是fileinput的3倍左右,每秒3-4万行,好处是 一行行读 ,不占内存,适合处理比较大的文件,比如超过内存大小的文件 f1=open("ip.txt","r") for line in f1.readlines()#跟上面的方式不同

  • 简述Python中的面向对象编程的概念 2014-06-15

    这篇文章主要介绍了简述Python中的面向对象编程的概念,面向对象编程是Python的重要特性,需要的朋友可以参考下 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 而面向对象的程序设计把计算机程序

  • C++中关键字Struct和Class的区别 2014-06-25

    这篇文章主要介绍了C++中关键字Struct和Class的区别,本文用大量实例讲解了Struct和Class的区别,需要的朋友可以参考下 Struct和Class的区别 今天这篇博文主要讲解在C++中关键字struct和class的区别.这篇博文,将会系统的将这两个关键字的不同面进行详细的讲解. 从语法上来讲,class和struct做类型定义时只有两点区别: 1.默认继承权限,如果不指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理: 2.成员

  • C#中按引用传递与按值传递的区别,以及ref与out关键字的用法详解 2014-08-01

    以下是对C#中按引用传递与按值传递的区别,以及ref与out关键字的用法进行了详细的分析介绍,需要的朋友可以过来参考下 /给三个整数从小到大排序并求和及其平均值 //其中,三个待求整数及其排序的结果由引用参数传递:其和由输出参数传递:平均值由返回值返回. //在Main()方法中实现三个待求整数的输入及结果的输出 //目的:定义方法:调用方法::理解形参和实参的引用传递关系:熟悉引用参数和输出参数的使用. using System; class Class1 { //x,y,z是形参,按值传递

  • Python中lambda的用法及其与def的区别解析 2014-09-26

    这篇文章主要介绍了Python中lambda的用法及其与def的区别解析,需要的朋友可以参考下 python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样: 1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量. 2. python lambda它只是一个表达式,而def则是一个语句. 下面是pyt

  • Python中input和raw_input的一点区别 2015-01-06

    这篇文章主要介绍了Python中input和raw_input的一点区别,它们都是用来读取控制台输入的函数,需要的朋友可以参考下 使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的 当输入为纯数字时: input返回的是数值类型,如int,float raw_inpout返回的是字符串类型,string类型 输入字符串为表达式 input会计算在字符串中的数字表达式,而raw_input不会. 如输入"57 + 3": i

  • 在Python中使用Neo4j数据库的教程 2013-12-09

    这篇文章主要介绍了在Python中使用Neo4j数据库的教程,Neo4j是一个具有一定人气的非关系型的数据库,需要的朋友可以参考下 一个快速的REST例子 首先来看些基本知识.如果没有服务API,Neo4j就不能支持其他语言.该接口提供一组基于JSON消息格式的RESTful Web服务和一个全面的发现机制.使用中使用这个接口的最快和最容易的方法是通过使用cURL: $ curl http://localhost:7474/db/data/ { "extensions" : { },

  • 理解Python中的类与实例 2014-01-17

    这篇文章主要介绍了Python中的类与实例,类与实例的概念是Python学习当中的基础知识,需要的朋友可以参考下 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的"对象",每个对象都拥有相同的方法,但各自的数据可能不同. 仍以Student类为例,在Python中,定义类是通过class关键字: class Student(object): pass class后面紧接着是类名,即St

  • 用实例分析Python中method的参数传递过程 2014-01-27

    这篇文章主要介绍了用实例分析Python中method的参数传递过程,包括instancemethod和staticmethod等实例,需要的朋友可以参考下 什么是method? function就是可以通过名字可以调用的一段代码,我们可以传参数进去,得到返回值.所有的参数都是明确的传递过去的. method是function与对象的结合.我们调用一个方法的时候,有些参数是隐含的传递过去的.下文会详细介绍. instancemethod In [5]: class Human(object):

  • 在Python中封装GObject模块进行图形化程序编程的教程 2014-05-06

    这篇文章主要介绍了在Python中封装GObject模块进行图形化程序编程的教程,本文来自于IBM官方网站技术文档,需要的朋友可以参考下 Python 是用于编码图形界面的极佳语言.由于可以迅速地编写工作代码并且不需要费时的编译周期, 所以可以立即使界面启动和运行起来,并且不久便可使用这些界面. 将这一点与 Python 易于链接本机库的能力结合起来,就可以形成一个出色的环境. gnome-python 是为 Python 封装 GNOME 及其相关库的软件包. 这使您能够用 Python 编写

  • Python中为什么要用self探讨 2014-06-06

    这篇文章主要介绍了Python中为什么要用self探讨,本文讲解了Python要self的理由.为何Python给self赋值而你不必给self赋值?等内容,需要的朋友可以参考下 接触Python以来,看到类里的函数要带个self参数,一直搞不懂啥麻子原因.晚上特别针对Python的self查了一下,理理. Python要self的理由 Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数 (self ),但在调用这个方法的时候不必为这个参数赋值 (显胜于隐

  • python中的字典详细介绍 2014-07-04

    这篇文章主要介绍了python中的字典详细介绍,字典是Python中最强大的数据类型之一,本文讲解了什么是字典.创建字典和给字典赋值 .字典的基本操作.映射类型操作符.映射相关的函数.字典的方法等内容,需要的朋友可以参考下 一.什么是字典? 字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型. 字典类型

  • Python中的面向对象编程详解(下) 2014-07-06

    这篇文章主要介绍了Python中的面向对象编程详解(下),本文讲解了继承.super关键字.重写.多重继承.类.实例和其他对象的内建函数.私有化等内容,需要的朋友可以参考下 继承 继承描述了基类的属性如何"遗传"给派生类.一个子类可以继承它的基类的任何属性,不管是数据属性还是方法. 创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要从其中派生的父类: class SubClassName (ParentClass1[, ParentClass2, ...]):

  • Python中条件选择和循环语句使用方法介绍 2014-08-29

    Python中也存在条件选择和循环语句,其风格和C语言.java的很类似,不过在书写语法上还是存在一些区别的,接下来同大家一起了解下,希望可以帮助你更好的学习python,感兴趣的你可不要错过了哈 同C语言.Java一样,Python中也存在条件选择和循环语句,其风格和C语言.java的很类似,但是在写法和用法上还是有一些区别.今天就让我们一起来了解一下. 一.条件选择语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: if condition: b

  • Python中生成器和yield语句的用法详解 2014-12-19

    这篇文章主要介绍了Python中生成器和yield语句的用法,生成器是Python编程进阶中的重要知识点,需要的朋友可以参考下 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" 或者 "定义和使用函数")对于大多数学生是没有问题的.但是有一些话题,大多数学生只有很少,或者完全没有任何接触,尤其是"生成器和yield关键字".我猜这对大多数新手Python程序员也