找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2695|回复: 4

[求助] 一个实例问题

10

主题

19

帖子

19

积分

贫民

积分
19
执着偏爱 发表于 2017-10-10 22:12:33 | 显示全部楼层 |阅读模式
如下程序中: for x in other/if x in other是否被看作为for x in 'spam'/if x in 'spam'?
QQ图片20171010220841.png
回复

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2017-10-11 12:10:13 | 显示全部楼层
“” for x in other/if x in other是否被看作为for x in 'spam'/if x in 'spam'?“”这句话要看你在哪个实力中来说咯,对于 "x | y"这句,就相当于在x这个实例中for x in ['s','p','a','m']/if x in ['s','p','a','m']

个人理解,至于对不对不保证
回复 支持 反对

使用道具 举报

10

主题

19

帖子

19

积分

贫民

积分
19
执着偏爱  楼主| 发表于 2017-10-11 22:48:38 | 显示全部楼层
uitb 发表于 2017-10-11 12:10
“” for x in other/if x in other是否被看作为for x in 'spam'/if x in 'spam'?“”这句话要看你在哪个 ...

other应该代表y吧,也即实例,为什么会把other当成other(y).data呢
回复 支持 反对

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2017-10-12 09:57:56 | 显示全部楼层
执着偏爱 发表于 2017-10-11 22:48
other应该代表y吧,也即实例,为什么会把other当成other(y).data呢

因为你的类里面有个__repr__方法,方法里面返回的是data,你可以打印一下y,会发现打印出来的应该就是这个实例的data,这个我解释不太清楚,你可以直接去搜一下__repr__了解
回复 支持 反对

使用道具 举报

10

主题

19

帖子

19

积分

贫民

积分
19
执着偏爱  楼主| 发表于 2017-10-12 23:19:50 | 显示全部楼层
uitb 发表于 2017-10-12 09:57
因为你的类里面有个__repr__方法,方法里面返回的是data,你可以打印一下y,会发现打印出来的应该就是这 ...

我懂了,for x in other(y),触发了索引迭代__getitem__
回复 支持 反对

使用道具 举报

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

本版积分规则

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