已有183人关注
在iter()函数中想——生成迭代器中,iterator = iter(a.get_next,3),这串代码中get_next怎样调用啊。
发表在Python图书答疑 2019-03-10 悬赏:3 学分 《Python从入门到项目实践》第11章 用函数实现模块化程序设计
是否精华
版块置顶:
class add:
     def__init__(self,_start._end):
          self.start=_start
          self.end=_end
     def get_next(self):
          s = self.start
          if (self.start<self.end):
             self.start+=1
          else:
             raise Stoplteration
a = add(1,5)
iterator = iter(a.get_next,3)
for i in iterator:
    print(i)
 调用get_next后面不应该加小括号吗


分享到:
精彩评论 3
无语_mrkj
学分:3155 LV11
2019-03-13
沙发

您上面的代码有一些错误,以下为可以正常运行的代码:

:
    (self,_start,_end):
        self.start = _start
        self.end = _end


    (self):
        s = self.start
        (self.start < self.end):
            self.start += :
            s


a = add(, )
iterator = (a.get_next, )
i iterator:
    (i)

说明:iter()函数的第一个参数是一个callable可调用对象,在指定它时只写方法名,不写小括号。这和普通的函数调用不一样。

zb007269
学分:1074 LV8
2019-03-13
板凳

无语_mrkj 发表于2019-03-13 09:19

您上面的代码有一些错误,以下为可以正常运行的代码:

:
    (self,_start,_end):
        self.start = _start
        self.end = _end


    (self):
        s = self.start
        (self.start < self.end):
            self.start += :
            s


a = add(, )
iterator = (a.get_next, )
i iterator:
    (i)

说明:iter()函数的第一个参数是一个callable可调用对象,在指定它时只写方法名,不写小括号。这和普通的函数调用不一样。

谢谢老师

无语_mrkj
学分:3155 LV11
2019-03-13
地板

,不用客气

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照