Python对象

一切都在Python是一个对象。

甚至基本基本类型(整数,字符串,浮点数..)的值都是对象。列表是对象,元组,字典以及所有内容。

对象有属性方法可以使用点语法进行访问。

例如,尝试定义类型的新变量int

age = 8

age现在可以访问为所有对象定义的属性和方法int对象。

例如,这包括访问该数字的实部和虚部:

print(age.real) # 8
print(age.imag) # 0

print(age.bit_length()) #4

# the bit_length() method returns the number of bits necessary to represent this number in binary notation

拥有列表值的变量可以访问另一组方法:

items = [1, 2]
items.append(3)
items.pop()

方法取决于值的类型。

id()Python提供的全局函数使您可以检查特定对象在内存中的位置。

id(age) # 140170065725376

您的记忆力值会改变,我仅以举例说明

如果为变量分配一个不同的值,则其地址将更改,因为变量的内容已被存储在内存中其他位置的另一个值替换:

age = 8

print(id(age)) # 140535918671808

age = 9

print(id(age)) # 140535918671840

但是,如果使用对象的方法修改对象,则地址保持不变:

items = [1, 2]

print(id(items)) # 140093713593920

items.append(3)

print(items) # [1, 2, 3] print(id(items)) # 140093713593920

仅当您将变量重新分配给另一个值时,地址才会更改。

一些对象是易变的,有些是一成不变的。这取决于对象本身。如果对象提供了更改其内容的方法,则它是可变的。否则,它是不可变的。 Python定义的大多数类型都是不可变的。例如一个int是一成不变的。没有任何方法可以更改其值。如果您使用增加数值

age = 8
age = age + 1

#or

age += 1

然后您检查id(age)你会发现age指向另一个存储位置。原始值尚未更改,我们切换到了另一个值。


更多python教程: