python语言中的每个对象由标识(identity)、类型(type)和值(value)标识

(1)标识用于返回唯一地标识一个对象,通常对应对象在计算机内存中的位置。使用内置函数id(obj1)可以返回对象obj1的标识。

(2)类型用于表示对象所属的数据类型(类)。使用内置函数type(obj1)可以返回对象obj1所属的数据类型。

(3)值:对象代表的数据

print(123)         #输出123
print(id(123))     #输出140711667815904
print(type(123))   #输出<class 'int'>

使用字面量创建实例对象

>>>123      #输出123
>>>"abc"    #输出abc

使用类对象创建实例对象

>>>int(12)          #输出12
>>>complex(1,2)     #输出(1+2j)

变量和对象的引用

python对象是位于计算机内存中的一个内存数据块。为了引用对象,用户必须通过赋值语句把对象赋值给变量(也称把对象绑定到变量)。指向对象的引用及变量。

>>>x=abs
>>>x(-123)                  #输出123
>>>y=str
>>>id(y)                    #输出140711667592432
>>>y.format('{0:.2f}',123)  #输出123.00

python是动态类型语言

python是动态类型语言,及变量不需要显示声明数据类型。根据变量的赋值,python解释器自动确定其数据类型。

事实上,变量仅用于指向某个类型对象,因此变量可以不限定类型,即可以指向任何类型的对象。

通过标识符和赋值运算符(=)可以指定某个变量指向某个对象,即引用该对象。多个变量可以引用同一个对象,一个变量页可以指向其他的对象。

>>>type(123)        #输出<class 'int'>
>>>id(123)          #输出140711288755680
>>>a=123
>>>id(a)            #输出140711288755680
>>>b=123
>>>id(b)            #输出140711288755680
>>>c=a
>>>id(c)            #输出140711288755680
>>>id('abc')        #输出2128084710960
>>>a='abc'
>>>id(a)            #输出2128084710960

对象的值比较和引用判别

通过==运算符可以判断两个变量指向的对象的值是否相同;通过is运算符可以判断两个变量是否指向同一对象。

x='abc'             #x指向值为'abc'的str型实例对象
y=x                 #变量x和y一样,指向(引用)对象实例'abc'
z='abcd'            #z指向值为'abcd'的str型实例对象
print(x==y)         #输出True
print(x is y)       #输出True
print(x==z)         #输出False
print(x is z)       #输出False

不可变对象和可变对象

python3对象可以分为不可变对象和可变对象。

不可变对象一旦创建,其值就不能被修改,可变对象的值可以被修改

 

posted on 2021-01-24 18:51  童话Bluebells  阅读(541)  评论(0编辑  收藏  举报