有人可以解释一下这个程序,我不明白哪个角色,说话来自
>>> 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='')
答案 0 :(得分:3)
你正在看一个元组任务。
右侧表达式预计会导致两个元素的序列,并且这两个元素将分配给左侧的两个命名目标。
换句话说,.split(:)
应返回两个值,并将这两个值分配给变量role
和line_spoken
。最有可能的是,文件中的行包含hamlet:To be or not to be, that is the question\n
等文本。
如果each_line.split(':')
不返回两个值,则会引发异常。
答案 1 :(得分:0)
role
和line_spoken
是变量,使用从文件sketch.txt
读取的字符串填充。 sketch.txt
包含以冒号分隔的单词或短语对,role
和line_spoken
会获得这些单词/短语。
split()
函数会在您的两个变量中返回"tuple", which is "unpacked"。
(请注意,(role, line_spoken)
周围的括号是不必要的。)