def count_words(filename):try:with open (filename) as f_obj:contents = f_obj.read()except FileNotFoundError:msg = 'Sorry,the file ' + filename + ' does not exist.'print(msg)else:words = contents.split()num_words = len (words)return str(num_words)f_obj = 'x.txt'print (f_obj.count_words())這會報錯'str' has no attribute 'count_words'正確的是print(count_words(f_obj))為什么?我看有說w.f() 是調用對象w中的f方法,那對象有什么限制嗎
1 回答

www說
TA貢獻1775條經驗 獲得超8個贊
f_obj是一個str類型的變量
而str類里沒有count_words()方法,所以報錯
count_words()是一個獨立的函數,它不屬于任何類,因此調用形式就是count_words(參數)
添加回答
舉報
0/150
提交
取消