我正在LPTHW中进行练习20,并且正在通过学习练习来锻炼自己的墙壁。我对一行代码有疑问。供您参考,我打印出代码:
from sys import argv
script, input_file = argv
def print_all(f):
print(f.read())
def rewind(f):
f.seek(0)
def print_a_line(line_count, f):
print(line_count, f.readline())
current_file = open(input_file)
print("First let's print the whole file:\n")
print_all(current_file)
print("Now let's rewind, kind of like a tape.")
rewind(current_file)
print("Let's print three lines:")
current_line = 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
我的问题是,下面的函数如何知道将current_line
引用为整数?
def print_a_line(line_count, f):
print(line_count, f.readline())
真的在这里挣扎...很抱歉,这是一个愚蠢的问题!
答案 0 :(得分:1)
当您进行函数调用时:
print_a_line(current_line, current_file)
您要将current_line
和current_file
的值传递给print_a_line
函数以进行调用,因此current_line
的值将作为参数分配给该参数line_count
,并且current_file
的值作为参数被分配给f
函数内的参数print_a_line
,以便在那里可以将它们作为局部变量引用。>