from sys import argvscript, input_file = argvdef 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 = 1print_a_line(current_line, current_file)current_line = current_line + 1print_a_line(current_line, current_file)current_line = current_line + 1print_a_line(current_line, current_file)出自《笨辦法學(xué)python》習(xí)題20 主要有兩個(gè)問題1、 f.read() 應(yīng)該是讀取 文件f的內(nèi)容。但是代碼并沒有把文件賦值給f。那么他是怎么工作的?2、def 是定義一個(gè)函數(shù),應(yīng)該怎么理解? 這段代碼是不是把print_all(f)和 print f.read()定義了?還是 print f.read() 定義為函數(shù),這個(gè)函數(shù)的名字叫print_all(f)?
4 回答

喵喔喔
TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
123456 | def print_all(f): #定義一個(gè)函數(shù)print_all,接受一個(gè)參數(shù)f print f.read() #這個(gè)函數(shù)執(zhí)行f.read() def rewind(f): #定義一個(gè)函數(shù)rewind,接受一個(gè)參數(shù)f f.seek( 0 ) #f.seek(0)將f的文件指針恢復(fù)到文件開頭 def print_a_line(line_count, f): #定義一個(gè)函數(shù)print_a_line,有兩個(gè)參數(shù)line_count,f print line_count, f.readline() |
print "First let's print the whole file: \n"
print_all (current_file) #將current_file作為參數(shù)調(diào)用函數(shù)print_all,執(zhí)行函數(shù)時(shí)f等于current_file
其余函數(shù)調(diào)用都是差不多,就不多說了
添加回答
舉報(bào)
0/150
提交
取消