第一章 python语言基础

Trouvaille / 2023-08-05 / 原文

1.5 Python中的对象

1.5.1 对象的身份

  • 一般用对象在内存中的存储位置作为对象的身份,用于唯一标识对象。
  • 用id()获取对象的标识
a=123
id(a)

1.5.2 对象的类型

  • 对象的类型表示对象可以存储什么类型的值
  • 用type()获取对象的类型
type(a)

1.5.3 对象的值

  • 对象所表示的数据
  • 用print()返回

1.5.4 对象的引用

  • 常见的赋值操作b=6,就是对象的引用
    • 如果变量b不存在,那么就创建变量b来代替对象6。
    • 如果变量b存在,那么就将变量b和对象6进行连接.

1.5.5 对象的共享引用

  • 当多个变量都引用了相同的对象,称为共享引用。
a=1
b=a
b=2
#print(b)->1

由于变量仅是对对象的一个引用,因此改变a的引用并不会导致b的变化。

a=[1,2,3]
b=a
a[0]=0
#print(a)->[0,2,3]
#print(b)->[0,2,3]

列表是可变的,创建后允许修改、插入或删除其中的元素。

1.5.6 对象是否相等的判断

  • ==测试两个被引用的对象的值是否相等
  • is用于比较两个引用所指向的对象是否是同一个对象。
a=[1,2,3]
b=a
a is b->True
c=[1,2,3]
a is c->False
a==c->True
d=[1,2,4]
a==d->False

当对象为一个较小的数字或较短的字符串时,为另外一种情况:

a=8
b=8
a is b ->True

这是Python的缓存机制造成的,小的数字和短字符串被缓存并复用,所以a,b指向同一个对象。