bio911 发表于 2020-7-28 11:35:40

Python第二版第8章(第107页)的代码理解问题

两个问题需要请教下论坛各位大神:

问题一
    代码中
    for each_line in f:
    这个循环each_line的赋值是一次性把文件文本全部字符串都赋值了,还是以回车换行 一行一行来赋值的?为什么呢?

问题二
    代码中:
   (role,line_spoken)=each_line.split(':',1)

这个(role,line_spoken)是什么?是的含变量元素的列表吗?

   

zltzlt 发表于 2020-7-28 11:38:23

1. 是一行一行遍历文件 f,因为文件对象的 __next__() 方法就是这么定义的(到后面你会学到魔法方法,自然就能明白了)

2. 不是,这是利用元组一次性给多个变量赋值,role = '小甲鱼',line_spoken = '后面对话内容'

sunrise085 发表于 2020-7-28 11:39:33

本帖最后由 sunrise085 于 2020-7-28 11:40 编辑

问题1:for循环遍历是一行一行来读文件的。这是python的规则
问题2、(role,line_spoken)=each_line.split(':',1)是把each_line以 : 分割一次,第一部分给role,第二部分给 line_spoken,也就是把说话者名字给role,把说的话给line_spoken。这不是个列表,就是一次性给多个遍历赋值,前面的role 和line_spoken可以不加括号

陈尚涵 发表于 2020-7-28 11:43:47

本帖最后由 陈尚涵 于 2020-7-28 11:49 编辑


你这几个问题说的都不对{:10_250:}{:10_250:},我来解释一下吧

问题1
for each_line in f:
什么全部赋值和回车换行一行一行的赋值{:10_250:}{:10_250:}这个文本本身就是序列,他是把这个“序列”一行一行的赋值{:10_256:}

问题2
这个role, line_spoken是什么含变量元素的列表呀{:10_250:}{:10_250:}只不过这段代码也可以这么写:
role, line_spoken = each_line(':', 1)
意思就是这么写:
role = each_line.split(':', 1)
line_spoken = each_line.split(':', 1)


记得给我设置最佳答案哦~

陈尚涵 发表于 2020-7-28 11:46:49

哇,发帖子的时候显示是10秒前楼主发的贴,这么快你们就到了{:10_257:}{:10_257:}

bio911 发表于 2020-7-28 12:02:35

陈尚涵 发表于 2020-7-28 11:43
你这几个问题说的都不对,我来解释一下吧

问题1


你好大神,再请教下,既然
role = each_line.split(':', 1)
line_spoken = each_line.split(':', 1)
那为什么用小括弧都框起来?括弧框内不是列表元素吗?

bio911 发表于 2020-7-28 13:07:17

zltzlt 发表于 2020-7-28 11:38
1. 是一行一行遍历文件 f,因为文件对象的 __next__() 方法就是这么定义的(到后面你会学到魔法方法,自然 ...

感谢大神答疑{:5_109:}

bio911 发表于 2020-7-28 13:08:45

sunrise085 发表于 2020-7-28 11:39
问题1:for循环遍历是一行一行来读文件的。这是python的规则
问题2、(role,line_spoken)=each_line.split( ...

感谢大神答疑。{:5_109:}

zltzlt 发表于 2020-7-28 13:25:54

陈尚涵 发表于 2020-7-28 11:43
你这几个问题说的都不对,我来解释一下吧

问题1


你这有点不要脸啊{:10_277:}

陈尚涵 发表于 2020-7-28 17:53:04

zltzlt 发表于 2020-7-28 13:25
你这有点不要脸啊

???

陈尚涵 发表于 2020-7-28 17:53:42

bio911 发表于 2020-7-28 12:02
你好大神,再请教下,既然
role = each_line.split(':', 1)
line_spoken = each_line.split(':', 1) ...

对啊,得到的就是列表元素啊
页: [1]
查看完整版本: Python第二版第8章(第107页)的代码理解问题