English 中文(简体)
1. 与矫正员的距离
原标题:Strangeness with a decorator

我想作一个矫正器,可以追捕例外情形,并适当gged。

def logger(foo):
    try:
        print foo()
    except Exception as e:
        print e

@logger
def d():
    return 2/2

if __name__ ==  __main__ :
    d()

这一点是正确的,但随后我提出,我有这样的例外:

1

Traceback (most recent call last):

  File "log.py", line 14, in <module>

    d()

TypeError:  NoneType  object is not callable

为什么口译告诉我,这一功能没有类型,而是说它和印刷答案?

最佳回答

你的校友们需要返回一个功能,但不会返回任何东西,因此,类型错误:无 物体类型不可用。 你们可以这样执行:

def logger(foo):
    def fn():
        try:
            print foo()
        except Exception as e:
            print e
    return fn

查询 问题,一个很好的例子,说明如何写/使用一位校正员。

问题回答

<代码>logger,经您界定,不折合价值。 所有这些职能均可视为返回的<代码>None。 你没有正确界定你的评分。 它应当更像:

def logger(foo):
    def _logger(foo):
        try:
            print foo()
         except Exception as e:
            print e
    return _logger

......但铭记,这损失了大量信息、渔获和吞.,造成大量例外,并且还吞.了“>/code”功能中的任何收益价值。 虽然你在生产守则中可能与你在此所显示的情况有所不同,但重要的是,腐蚀功能本身必须恢复一种可称为的功能(例如,_logger<>/code>)。





相关问题
Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

An enterprise scheduler for python (like quartz)

I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...

How to remove unique, then duplicate dictionaries in a list?

Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...

What is suggested seed value to use with random.seed()?

Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...

How can I make the PyDev editor selectively ignore errors?

I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

Converting Dictionary to List? [duplicate]

I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...