-
1 votesanswersviews
Python(pyspark) - UDF定义的函数装饰器
我实际上是在尝试使用累加器来定义UDF . 累加器用于保存my_function中的异常以供日后使用 . 我想出了一些带有一些参数的udf定义(returnType,accumulator) . 我想让它更具可读性和可重用性 . 我怎么能用下面的代码定义装饰器功能? from pyspark.sql import functions as F from pyspark.accumulators i... -
2 votesanswersviews
带参数的装饰器[重复]
这个问题在这里已有答案: Decorators with parameters? 8个答案 代码如下 #!/usr/bin/env python3 def my_dec(func): def wrap(w): t=func(w) return t*4 return wrap @my_dec def testing(n): retu... -
5 votesanswersviews
python包装函数在装饰器内部获取参数
我正在尝试编写python装饰器,我在理解内部包装器如何获取参数时遇到问题 . 我在这里: import time def timing_function(some_function): def wrapper(): t1 = time.time() some_function() t2 = time.time() retu... -
2 votesanswersviews
使用修饰函数作为函数的默认参数
考虑这个模块: #mymodule.py import logging def print_start_end(name): """ Decorator that creates a logger and logs the start and the end of the function call ""&quo... -
0 votesanswersviews
如何实现asyncpg事务装饰器?
我试图实现asyncpg事务包装器,如下所示: def asyncpg_tx(autocommit=True, ignore_err=False): ''' :param autocommit: :param ignore_err: :return: ''' async def decorator(func): try: @functools.wraps(func) ... -
0 votesanswersviews
功能和生成器的实时装饰器
我有一种情况,我需要挂钩某些函数,以便我可以检查返回值并跟踪它们 . 这对于跟踪方法/函数返回的值的运行平均值非常有用 . 但是,这些方法/功能也可以是生成器 . 但是,如果我没有错,python会在解析时检测到生成器,并且在运行时调用该函数时它总是返回一个生成器 . 因此,我不能简单地做一些事情: import types def decorator(func): average = N... -
8 votesanswersviews
在Sphinx文档中保留包装/修饰Python函数的默认参数
如何将 *args 和 **kwargs 替换为装饰函数文档中的真实签名? 假设我有以下装饰器和装饰功能: import functools def mywrapper(func): @functools.wraps(func) def new_func(*args, **kwargs): print('Wrapping Ho!') return ... -
1 votesanswersviews
使用TypeVar在MyPy中使用参数键入装饰器会产生预期的无人居住类型
MyPy与 Callable *args 和 **kwargs 有一些问题,特别是有关装饰器的问题,详见:https://github.com/python/mypy/issues/1927 具体来说,对于没有参数只包装函数(并且不更改其签名)的装饰器,您需要以下内容: from typing import Any, Callable, cast, TypeVar FuncT = TypeV... -
1 votesanswersviews
Python设置docstring并获取动态生成的classmethod的方法名称
我正在尝试获取/设置动态创建的类方法的名称和文档字符串,如下所示,但我很难确定如何做到这一点: import sys import inspect class test(object): pass @classmethod def genericFunc(cls, **kwargs): print "function:", (inspect.stack()[... -
2 votesanswersviews
异常处理装饰器,它接受 args 作为函数
我有一个异常处理装饰器,看起来像这样: def error_handler(errors=(Exception, ), default=""): def funcator(func): def deep_inside(*args, **kwargs): try: return func(*args,... -
-1 votesanswersviews
处理Flask路线中的所有异常
我的Flask应用程序中有一条简单的路线: @app.route('/', methods=['GET']) def homepage(): return '{}'.format(1 / 0) 当用户访问site.com/时,她应该看到1/0的结果 . 当然这是不可能的,所以Python给我一个错误 . 现在,我希望以特殊方式处理所有 endpoints 上的所有错误:我希望它们返回JS... -
2458 votesanswersviews
如何制作一系列功能装饰器?
如何在Python中创建两个装饰器来执行以下操作? @makebold @makeitalic def say(): return "Hello" ...应该返回: "<b><i>Hello</i></b>" 我不是试图在一个真实的应用程序中以这种方式制作 HTML - 只是想了解装饰器和装饰器链... -
0 votesanswersviews
删除样板记录设置
我看到这个非常常用的代码我用来设置日志记录 . def has_host_running(self): log = CustomLogger.action_logger(name=sys._getframe().f_code.co_name, **self.menvargs) result = self.bash_query.check_is_server_avai... -
1 votesanswersviews
使用装饰器的包装函数来更改函数的参数
我在装饰员周围缠头时遇到了一些麻烦 . 我想在装饰器中使用包装器函数将更改应用于我的request.Session()对象 . 这是我作为装饰者尝试时的功能: import os import requests from requests.adapters import HTTPAdapter from requests.packages.urllib3.util.retry import Ret... -
2869 votesanswersviews
@staticmethod和@classmethod有什么区别?
用@staticmethod装饰的功能和用@classmethod装饰的功能有什么区别? -
362 votesanswersviews
Python中的“at”(@)符号有什么作用?
我正在看一些使用 @ 符号的Python代码,但我不知道它做了什么 . 我还不知道搜索Python文档时要搜索什么,或者当包含 @ 符号时Google不会返回相关结果 . -
714 votesanswersviews
@property装饰器如何工作?
我想了解内置函数 property 的工作原理 . 令我困惑的是 property 也可以用作装饰器,但它只在用作内置函数时才需要参数,而不是用作装饰器时 . 这个例子来自documentation: class C(object): def __init__(self): self._x = None def getx(self): return...