line_spoken在程序中做了什么

时间:2013-08-02 16:06:41

标签: python

有人可以解释一下这个程序,我不明白哪个角色,说话来自

>>> data = open('sketch.txt')
>>> for each_line in data: // stores each line from the sketch file in each_line
...     (role, line_spoken) = each_line.split(':')
...     print(role, end='')
...     print(' said: ', end='')
...     print(line_spoken, end='')

2 个答案:

答案 0 :(得分:3)

你正在看一个元组任务。

右侧表达式预计会导致两个元素的序列,并且这两个元素将分配给左侧的两个命名目标。

换句话说,.split(:)应返回两个值,并将这两个值分配给变量roleline_spoken。最有可能的是,文件中的行包含hamlet:To be or not to be, that is the question\n等文本。

如果each_line.split(':') 返回两个值,则会引发异常。

答案 1 :(得分:0)

roleline_spoken是变量,使用从文件sketch.txt读取的字符串填充。 sketch.txt包含以冒号分隔的单词或短语对,roleline_spoken会获得这些单词/短语。

split()函数会在您的两个变量中返回"tuple", which is "unpacked"

(请注意,(role, line_spoken)周围的括号是不必要的。)