美文网首页
03_对象(object)

03_对象(object)

作者: 秋的懵懂 | 来源:发表于2018-11-05 13:54 被阅读0次

时间:2018-11-01 作者:魏文应


一、对象结构

对象的结构有:

id (标识)
type (类型)
value(值)

在 python 中,一切皆对象。

id (标识)

  • id 用来标识对象的唯一性。
  • 可以通过 id() 函数来获取对象 id ,比如 :id(1)
  • id 对象由解析器生成,在 CPython 中,id 就是对象的内存地址。
  • 对象一旦创建,id 将不可改变。

type (类型)

  • 表示当前对象所属类型,比如 int、float、str、bool等。
  • 类型决定了对象有哪些功能。
  • 通过 type() 函数获取。如 type(123)
  • python 是一门强类型的语言,对象一旦创建类型便不能修改了。

value(值)

  • 对象中存储的具体的数据,比如 123 ,那么它的值 value 就是 123 。
  • 有些值是可变的,有些值是不可变的。

二、对象和变量

变量,保存的是对象的内存地址值,即 id 值,比如 a = 123 ,那么,a 这个变量实际保存的是 123 的 id 值,也就是内存地址。

三、类型转换

一个类型的对象,转换成另一个类型的对象。对象类型转换不是改变对象本身的类型,而是 根据当前对象的值创建一个新对象。类型转换有函数有 int()float()str()bool() 。比如:

a = True
a = int(a)
print(a)

打印结果为:

1

上面是将 bool 变量 True 的 value 值,转换为 int 整数类型,同时创建一个新的 int 对象,将转变后的 value 值赋给新对象的 value ,也就是 True -> value=true1 -> value=1 。a 一开始保存的是 True 的地址,后来保存的是 1 的内存地址。

int() 函数转换规则:

  • 布尔值:True -> 1False -> 0
  • 浮点数:直接取整,省略小数点后面的内容。
  • 字符串:合法的整数字符串,则保存为整数,比如 a = 123 ,这是可以的。如果是 a = 12.3 ,则会报错。
  • 对于其他不可转换为整型的对象,直接抛出异常,比如 a = None

float() 函数转换规则:

  • 和 int() 函数基本一致,只是整型改为浮点数。

str() 函数转换规则:

  • 转换为字符串类型。比如:
    a = 123
    print('hello' + a)   # 这样是错误的,会抛出异常
    print('hello' + str(a))   # 这是正确的
    

bool() 函数转换规则:

  • 任何对象都可以转换为布尔值。
  • 所有表示 的特性的,都会转换成 False ,比如 a = ''0None 等。

相关文章

网友评论

      本文标题:03_对象(object)

      本文链接:https://www.haomeiwen.com/subject/abzxxqtx.html