大大怪将军33 发表于 2020-3-26 10:37:18

python的对象

将对象存入列表中,后怎么完整的把它调出列表?

永恒的蓝色梦想 发表于 2020-3-26 10:38:31

???什么意思?

大大怪将军33 发表于 2020-3-26 10:39:31

把对象转到列表中,他出现的是一个链接。

一个账号 发表于 2020-3-26 10:43:02

大大怪将军33 发表于 2020-3-26 10:39
把对象转到列表中,他出现的是一个链接。

??

大大怪将军33 发表于 2020-3-26 10:43:40

永恒的蓝色梦想 发表于 2020-3-26 10:38
???什么意思?

<__main__.Fish object at 0X0000029BFDEDF670>

大大怪将军33 发表于 2020-3-26 10:44:17

大大怪将军33 发表于 2020-3-26 10:43


把它打印出来是这样子

永恒的蓝色梦想 发表于 2020-3-26 10:45:01

大大怪将军33 发表于 2020-3-26 10:43


这个东西就是原来的对象

大大怪将军33 发表于 2020-3-26 10:45:40

永恒的蓝色梦想 发表于 2020-3-26 10:45
这个东西就是原来的对象

调得出来,但是不可以用

永恒的蓝色梦想 发表于 2020-3-26 10:46:07

大大怪将军33 发表于 2020-3-26 10:45
调得出来,但是不可以用

你想怎么用

TJBEST 发表于 2020-3-26 10:46:12

大大怪将军33 发表于 2020-3-26 10:44
把它打印出来是这样子

除了基本类型(数字,字符串)其他的类型对象 在容器中(字典,序列,集合等)存储的是地址

TJBEST 发表于 2020-3-26 10:48:17

对象就是对一组数据的封装 其在内存占用一段空间__main__.Fish object at 0X0000029BFDEDF670 就表示这个对象所在空间的首地址
如果想打印对象 需要重写 __repr__魔法方法。

永恒的蓝色梦想 发表于 2020-3-26 11:06:51

TJBEST 发表于 2020-3-26 10:46
除了基本类型(数字,字符串)其他的类型对象 在容器中(字典,序列,集合等)存储的是地址

存储的都是地址,只不过是有无实现__str__或__repr__的区别

fish_游鱼 发表于 2020-3-26 11:08:27

class Fish:
    def __init__(self, name):
      self.name = name

    def move(self):
      print(self.name, "is moving...")


fish = Fish("fish")
lst =
print(lst)
print(lst.name)
lst.move()

输出:
<__main__.Fish object at 0x0000021832799E80>
fish
fish is moving...

TJBEST 发表于 2020-3-26 11:16:48

本帖最后由 TJBEST 于 2020-3-26 11:18 编辑

永恒的蓝色梦想 发表于 2020-3-26 11:06
存储的都是地址,只不过是有无实现__str__或__repr__的区别

虽说万物皆对象,但是必有尽头,否则对象套对象永远没有尽头。你想想 比如a.x = 10
10是int对象 说明a的一个属性是int对象。那么可以理解为 对象a的一个名为x的内存存储值为10 要说地址也可以
那就是 10所在的地址。不过分析麻烦。将数字当做一个存储单位未尝不可,分析的结果没问题。 python赋予其特殊地位(基础类型),就是为了大家简单考虑,不用钻牛角尖

大大怪将军33 发表于 2020-3-26 11:21:26

TJBEST 发表于 2020-3-26 11:16
虽说万物皆对象,但是必有尽头,否则对象套对象永远没有尽头。你想想 比如a.x = 10
10是int对象 说明a ...

想明白了,谢谢了

大大怪将军33 发表于 2020-3-26 11:22:06

永恒的蓝色梦想 发表于 2020-3-26 11:06
存储的都是地址,只不过是有无实现__str__或__repr__的区别

谢谢了
页: [1]
查看完整版本: python的对象