0
def method(path,method,callback) 
    def decorator(callback):if isinstance(callback, basestring): callback = load(callback)
        for rule in makelist(path) or yieldroutes(callback):
            for verb in makelist(method):
                verb = verb.upper()
                route = Route(self, rule, verb, callback, name=name,
                              plugins=plugins, skiplist=skiplist, **config)
                self.add_route(route)
    return callback
return decorator(callback) if callback else decorator

最後の文の意味は何ですか?

4

2 に答える 2

5
return decorator(callback) if callback else decorator

に変換します。

if callback:
   return decorator(callback)
else:
   return decorator

これは、三項式を持つPython の方法です。

Does Python has a terary conditional operator?の詳細については、この SO の質問を参照してください。 .

于 2012-07-19T14:15:17.077 に答える
0

最後の文は基本的に

if callback:  # Tests to see if callback is not None in essence, although 0 and '' will also test False
    return decorator(callback)
else:    # Not needed, just for clarity sake
    return decorator
于 2012-07-19T14:15:57.063 に答える