找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3214|回复: 3

[已解决] 调用不存在的方法时,有没有那么一种方法规避错误?

3

主题

9

帖子

9

积分

贫民

积分
9
留校察看 发表于 2016-8-5 16:03:09 | 显示全部楼层 |阅读模式
在Python里,当调用一个对象的方法,而这个方法不存在时,会抛出错误,有没有一个方法,当调用不存在的方法时,就会调用某个特定的函数?比如说methodNotFound()方法
回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-8-5 20:10:12 | 显示全部楼层
可以使用__getattr__方法解决
  1. class Foo(object):
  2.     def __getattr__(self, key):
  3.         return lambda:'pythontab'

  4. f = Foo()
  5. print f.python()
复制代码
回复 支持 反对

使用道具 举报

5

主题

20

帖子

20

积分

贫民

积分
20
pgx5967973 发表于 2016-8-7 10:25:25
http://www.liaoxuefeng.com/wiki/ ... b14a499afd5b24db000
这个页面下面有介绍,自己看
  1. def readImage(fp):
  2.     if hasattr(fp, 'read'):
  3.         return readData(fp)
  4.     return None
复制代码
支持 反对

3

主题

9

帖子

9

积分

贫民

积分
9
留校察看  楼主| 发表于 2016-8-27 15:13:20 | 显示全部楼层
blueelwang 发表于 2016-8-5 20:10
可以使用__getattr__方法解决

好方法!
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-8-30 17:24:41 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表