attributeerror python_有什么方法可以让我获得关于Python中AttributeError异常的特定细节吗?...

回溯应提醒您引发^{}异常的属性访问:>>> f.b

Traceback (most recent call last):

File "", line 1, in

AttributeError: Foo instance has no attribute 'b'

或者,将Exception转换为str:>>> try:

... f.b

... except AttributeError, e:

... print e

...

Foo instance has no attribute 'b'

如果要获取对象上可用属性的列表,请尝试^{}或^{}>>> dir(f)

['__doc__', '__init__', '__module__', 'a']

>>> help(str)

Help on class str in module __builtin__:

class str(basestring)

| str(object) -> string

|

| Return a nice string representation of the object.

| If the argument is a string, the return value is the same object.

|

| Method resolution order:

| str

| basestring

| object

|

| Methods defined here:

|

| __add__(...)

| x.__add__(y) <==> x+y

|

[...]

| ----------------------------------------------------------------------

| Data and other attributes defined here:

|

| __new__ =

| T.__new__(S, ...) -> a new object with type S, a subtype of T

你甚至可以在dir上调用help()(为什么留给读者作为练习):>>> help(dir)

Help on built-in function dir in module __builtin__:

dir(...)

dir([object]) -> list of strings

If called without an argument, return the names in the current scope.

Else, return an alphabetized list of names comprising (some of) the attributes

of the given object, and of attributes reachable from it.

If the object supplies a method named __dir__, it will be used; otherwise

the default dir() logic is used and returns:

for a module object: the module's attributes.

for a class object: its attributes, and recursively the attributes

of its bases.

for any other object: its attributes, its class's attributes, and

recursively the attributes of its class's base classes.

失败了。。。除非第三方为您提供了一些预编译模块,否则您始终可以查看代码,在这种情况下,您应该要求更好的文档(比如一些单元测试!)从你的供应商那里!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值