为了账号安全,请及时绑定邮箱和手机立即绑定

能理解在类中定义的函数可以对实例调用该函数,那对于一个变量就不可以吗?

能理解在类中定义的函数可以对实例调用该函数,那对于一个变量就不可以吗?

一只萌萌小番薯 2023-04-21 18:14:49
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(参数)

查看完整回答
反对 回复 2023-04-23
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信