提高对Python 3函数调用和变量的理解
对于下面的Python脚本,我有几个问题要检查我的理解。如能对下文第1点和第2点作出答复,将不胜感激提高对Python 3函数调用和变量的理解,python,python-3.x,Python,Python 3.x,对于下面的Python脚本,我有几个问题要检查我的理解。如能对下文第1点和第2点作出答复,将不胜感激 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_fil
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)
1每次运行print_a_line函数时,变量current_line都会传递给函数。如何在每次函数调用时输出当前_线等于多少?我认为可以简单地将函数更改为使用内置函数print,如下所示:
2我被要求在“打印行”函数中“跟踪”变量当前行如何变为行计数。我能想到的最简单的答案是调用函数,并将变量current\u line作为参数传递给line\u count我不确定这是否能让它更清楚,但接下来 在Python中,不能真正地将变量传递给函数,只能传递它们的值。 当我们说将x传递给f时,它意味着将x的值传递给f 当前_行的值作为第一个参数传递给print_a_行。 该参数称为line_count,其值与传入的值相同 从打印线的角度来看,当前可变线不存在;它是在不同的范围内定义的,您不能从该函数中观察它
def print_a_line(line_count, f):
print(current_line)
print(line_count, f.readline())