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对象可以分为不可变对象和可变对象。
不可变对象一旦创建,其值就不能被修改,可变对象的值可以被修改