rodhy 发表于 2018-4-24 21:52:46

29课和30课中的一个小疑问

本帖最后由 rodhy 于 2018-4-24 22:00 编辑

目前学到30集了,买了个VIP,学的挺带劲的。现在有个小疑问,第一次在论文提问,见笑了。
就是29课和30课中,f.open()函数部分,为什么for each_line in f:
                                                                     print(each_line)
程序会打印每一行呢?程序是怎么识别每一行的呢?我一开始以为是程序认识each_line,知道他是每一行,但是后来,我寻思不对啊,我把each_line 改成,a,b 任意字符也能成,为什么each_line是代表每一行,而不是每一个字符呢!问的问题有点傻逼了,还望解答!谢谢!

还有图片中圈出的那一行,为什么不用定义就能直接用(role,line_spoken)=,,,,呢?,大括号的不是元组嘛!

ba21 发表于 2018-4-24 22:08:08

f 是返回读取文件按行分割的可跌代序列。如['wqfasdf\n','asfdsadf\n','asdfasdf\n']
for 变量名 in f: 就是从f中一个一个的取出来 给 变量名

(role,line_spoken) 就是元组,把role和 line_spokeng 获得到的值转换成元组,在这里没有实际意义,可以不加()也行
>>> a = (role,line_spoken) = 1,2
>>> a
(1, 2)
>>> type(a)
<class 'tuple'>
>>> role
1
>>> line_spoken
2
>>> role,line_spoken = 1,2
>>> role
1
>>> line_spoken
2

rodhy 发表于 2018-4-24 22:12:16

ba21 发表于 2018-4-24 22:08
f 是返回读取文件按行分割的可跌代序列。如['wqfasdf\n','asfdsadf\n','asdfasdf\n']
for 变量名 in f:...

明白了,你说的很详细,多谢!小白成长之路,很艰难啊!我懂了!
页: [1]
查看完整版本: 29课和30课中的一个小疑问