kongyunfei 发表于 2021-2-20 16:42:44

旧版python 课后作业029讲

for line1 in f1:
      line2 = f2.readline()
      count += 1
      if line1 != line2:
这里的line1 和 line2比较的时候line1为什么会自动变成以行为单位 ,是因为line2是以行读取的所以line1和line2比较时自动变成行为单位吗

hellomyprogram 发表于 2021-2-20 16:47:55

因为有 line1 in f1 这条语句。

昨非 发表于 2021-2-20 17:13:51

本帖最后由 昨非 于 2021-2-20 17:15 编辑

for ..in..语句就决定了逐行遍历f1
刚好f1通过for循环和f2.readline()一起后移
要比较第一行就比较第一行
要比较第二行就比较第二行

King丨小义 发表于 2021-2-20 18:24:18

for line1 in f1 这句话就是遍历f1,每次line1都代表一行

kongyunfei 发表于 2021-2-21 09:44:44

King丨小义 发表于 2021-2-20 18:24
for line1 in f1 这句话就是遍历f1,每次line1都代表一行

想问下 for就是按行遍历的吗

crisfo 发表于 2021-2-22 15:28:45

kongyunfei 发表于 2021-2-21 09:44
想问下 for就是按行遍历的吗

for .... in....
in 后面要跟可迭代的对象。

King丨小义 发表于 2021-2-23 16:46:49

kongyunfei 发表于 2021-2-21 09:44
想问下 for就是按行遍历的吗

重点不是for,而是for所遍历的对象,在这里f1是一个文件对象,它自身具有的性质决定for遍历它的时候一行一行读

kongyunfei 发表于 2021-2-23 16:49:40

King丨小义 发表于 2021-2-23 16:46
重点不是for,而是for所遍历的对象,在这里f1是一个文件对象,它自身具有的性质决定for遍历它的时候一行 ...

感谢
页: [1]
查看完整版本: 旧版python 课后作业029讲