python之什么是对象值比较,什么是对象身份比较

简介:

一、对象值的比较

1、比较的操作是针对对象的值进行比较的

2、也就是说比较的是对象的值,而不是对象本身


等价于值和值的直接比较:

>>> 
>>> 2 == 2
True
>>> 2.46 <= 8.33
True


对象值的比较

>>> a = 88
>>> b = 98
>>> 
>>> a == b
False
>>> a >= b
False
>>> a <= b
True
>>> a < b
True

解析:

创建了整型对象88,98,并分别赋值(通过引用)给变量a,b,这里的变量a和b也是对象。记住,python一切皆对象,那么对象a的值是88,对象本身是什么?当然就是a。所以说,比较的是对象的值,而不是对象本身。


二、关于对象身份比较

>>> f = 4
>>> g = 4

>>> f is g
True
>>> id(f)
23359760
>>> id(g)
23359760
>>>


解析:

创建的数字对象分别赋值给了变量f和g,f和g是指向同一个数据对象4。用is来判断f和g是否是同一个对象,那么答案是True,是同一个对象。那么通过id(),查看变量f和g所指向的对象内存地址,那么都是同一个内存地址。



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1868026



相关文章
|
2月前
|
Python
python对象模型
这篇文章介绍了Python中的对象模型,包括各种内置对象类型如数字、字符串、列表、字典等,以及如何使用`type()`函数来查看变量的数据类型。
|
2月前
|
Python
探索Python中的魔法方法:打造你自己的自定义对象
【8月更文挑战第29天】在Python的世界里,魔法方法如同神秘的咒语,它们赋予了对象超常的能力。本文将带你一探究竟,学习如何通过魔法方法来定制你的对象行为,让你的代码更具魔力。
39 5
|
9天前
|
测试技术 数据库 开发者
Python作为一种谦逊的编程语言:对象自省机制的探讨
Python的自省机制是该语言的一个强大特性,为开发者提供了深入了解和操作对象的能力。它增强了Python的灵活性,使得开发者可以更加精准地控制程序的行为。然而,合理利用自省能力,避免其成为代码复杂性的来源,是每个Python开发者需要考虑的问题。通过熟练运用Python提供的自省工具和技巧,可以更好地设计和实现高效、易维护的Python应用。
14 2
|
2月前
|
存储 程序员 Python
Python类的定义_类和对象的关系_对象的内存模型
通过类的定义来创建对象,我们可以应用面向对象编程(OOP)的原则,例如封装、继承和多态,这些原则帮助程序员构建可复用的代码和模块化的系统。Python语言支持这样的OOP特性,使其成为强大而灵活的编程语言,适用于各种软件开发项目。
18 1
|
2月前
|
程序员 Ruby Python
Python里的类和对象是什么?
本文介绍了Python中面向对象编程的核心概念——类与对象。类作为一种“蓝图”,定义了一组属性和方法,用于描述一类对象的共同特征与行为。通过类可以创建具体的对象实例,每个对象拥有类所定义的属性和方法。文章通过`Human`类的例子详细展示了如何定义类、初始化对象及其属性、定义方法,以及如何给对象添加自定义属性。此外,还介绍了如何通过类创建多个具有不同特性的对象实例,并探讨了属性覆盖和使用`@property`装饰器实现只读属性的方法。
|
3月前
|
Python
Python中使用类和对象
【7月更文挑战第23天】
29 6
|
2月前
|
Python
【python笔记】使用zip函数迭代多个可迭代对象
【python笔记】使用zip函数迭代多个可迭代对象
|
1天前
|
机器学习/深度学习 Linux Python
Python编程教学
Python教学
24 13
|
1天前
|
机器学习/深度学习 数据挖掘 开发者
探索Python编程:从基础到实战
【9月更文挑战第34天】在这篇文章中,我们将一起踏上Python编程的旅程。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基础语法开始,逐步深入到更复杂的主题,如面向对象编程和网络应用开发。我们还将探讨如何在实际项目中应用这些知识,以及如何通过持续学习和实践来提高你的编程技能。让我们一起探索Python的世界,发现它的无限可能!
|
2天前
|
机器学习/深度学习 人工智能 数据可视化
Python比较适合哪些场景的编程?
Python比较适合哪些场景的编程?
14 7
下一篇
无影云桌面