鱼C论坛

 找回密码
 立即注册
查看: 2640|回复: 2

类和对象中关于.self 的提问。

[复制链接]
发表于 2016-1-30 22:48:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 amazing814 于 2016-1-31 04:54 编辑

各位大神好,我先跪下,再问问题:

在学习python的过程中,(小甲鱼视频039),定义类以及它附属对象的时候,用到 “self”。

class Xxx:
        def yyy(self, x, y):
                x.self = x
                y.self = y
                print (' {0} and {1}'.format(x.self, y.self))

为什么要给 x 还有 y 后缀加上 .self 呢? 如果我把程序改成

class Xxx:
        def yyy(self, x, y):
                print (' {0} and {1}'.format(x, y))

结果还是一样使用啊! 那为什么还要额外加入 .self 后置呢?

我的答案是:
因为在class Xxx中,如果还有其他的对象需要定义,例如
class Xxx:
        def yyy(self, x, y):
                x.self = x
                y.self = y
                print (' {0} and {1}'.format(x.self, y.self))

        def zzz(self)
                print ('{}'.format(x.self))
如果在zzz中想继续使用 yyy得到的输入变量x,则必须在 yyy中有“x.self = x”操作,否则 zzz无法调用 yyy中的x.

各位大神,我的理解对吗? .self 的作用是否就只是这样的? 是不是还有其他的作用?

先谢谢啦!



小甲鱼说 .self 类似“指针”的作用,用来区分不同对象。 这句话按我的理解,就是 .self 可以用来在
try1 = Xxx()
else2 = Xxx()
这种对象实例化的时候,区分 try1 和 else2 的不同。 然而,这...好像没有什么特殊的意义啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-1-31 11:14:52 | 显示全部楼层
对的, 这个self是代表该对象本身
另外self要写在前面, 像这样:
self.x = x
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-1-31 16:06:01 | 显示全部楼层
hldh214 发表于 2016-1-31 11:14
对的, 这个self是代表该对象本身
另外self要写在前面, 像这样:
self.x = x

多谢多谢啦!

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +1 收起 理由
hldh214 + 5 + 5 + 1 共同进步

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-19 12:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表