草庐IT

abc_backend

全部标签

Python 集合 ValuesView abc : why doesn't it inherit from Iterable?

我只是在查看collections.abc上的一些文档s用于我的一个项目,我需要在其中做一些与类型相关的工作。这些是关于ValuesView的官方文档在Python2和3中输入:和this是源代码(Python2,但同样发生在Python3中)我对ValuesView界面感到非常困惑,因为来自逻辑观点它应该从Iterable继承,恕我直言(它甚至得到了__iter__混合方法);相反,文档说它只是继承自MappingView,后者继承自Sized,后者不继承自Iterable。所以我启动了我的2.7解释器:>>>fromcollectionsimportIterable>>>d={1:

Windows : AttributeError: Can't get attribute "abc" 上 Jupyter 中的 python 多处理

我正在尝试运行一个简单的命令,该命令使用多处理按名称猜测性别。此代码在以前的机器上运行,所以可能与我的设置有关。下面是我的多处理代码:importsysimportgender_guesser.detectorasgenderimportmultiprocessingimporttimed=gender.Detector()defguess_gender(name):n=name.title()#makefirstletteruppercaseandtherestlowercaseg=d.get_gender(n)#guessgenderreturngls=['john','joe',

python - 两个正则表达式之间的区别 : [abc]+ and ([abc])+

In[29]:re.findall("([abc])+","abc")Out[29]:['c']In[30]:re.findall("[abc]+","abc")Out[30]:['abc']被分组的人搞糊涂了。它有何不同? 最佳答案 这里有两点需要说明:量化组的行为,以及findall()方法的设计。在您的第一个示例中,[abc]匹配在第1组中捕获的a。然后它匹配b并在组#1中捕获它,覆盖a。然后再次使用c,这就是比赛结束时留在第1组中的内容。但它确实匹配整个字符串。如果您使用的是search()或finditer(),您将能够查

python - 属性错误 : 'UUID' object has no attribute 'replace' when using backend-agnostic GUID type

我想在使用SQLAlchemy1.1.5的Postgresql数据库中拥有一个类型为uuid的主键ID,并使用pg8000适配器连接到数据库。我用了Backend-agnosticGUIDTyperecipe来自SQLAlchemy文档。当我想插入数据库时​​,出现如下错误File".../guid.py",line???,inprocess_result_valuereturnuuid.UUID(value)File"/usr/lib/python2.7/uuid.py",line131,in__init__hex=hex.replace('urn:','').replace('uu

python - 执行 `from abc import xyz` 模块 `abc`去哪了?

关于Python内部结构的问题。如果我执行importabc,Python会将模块读入一个新的命名空间,并绑定(bind)全局命名空间中的变量abc以指向新的命名空间。如果我执行fromabcimportxyz然后它读取整个模块abc到一些新的命名空间然后绑定(bind)变量xyz全局命名空间到绑定(bind)到xyz的同一个对象,在这个新创建的命名空间中,模块被读入。至少这是我的理解。之后abc被读入的命名空间发生了什么?我假设它存在于某个地方,因为xyz可能会访问该命名空间中的其他对象。这个“幽灵”abc命名空间能否以某种方式访问​​?此外,我假设如果我这样做fromabcimpo

python - 通过 Web 应用程序处理作业 : real-time status updates and backend messaging

我想实现一个(开源)网络应用程序,用户通过他的浏览器向Python网络应用程序发送某种请求。请求数据用于定义和提交某种繁重的计算作业。计算工作外包给“worker后端”(也是Python)。在作业处理过程中,作业会随着时间的推移经历不同的阶段(理想情况下从中间状态的“已提交”到“完成”)。我想完成的是实时向用户显示当前的作业状态。这意味着工作后端必须将作业状态传回Web应用程序。然后,Web应用程序必须将信息推送到用户的浏览器。我为您带来了一张图片,示意性地描述了基本思想:红色圆圈中的数字表示事件的时间顺序。“webapp”和“workerbackend”还有待设计。现在,如果您能帮助

python - Django 抽象模型与简单的 Python 混合与 Python ABCs

这是anotherquestion提示的问题来self。Django提供Abstractbaseclasses功能(这与Python中的ABC类不同?),以便可以创建一个可以从中继承的模型(Django的models.Model),但该模型在数据库中没有实际的表。通过在模型的元类中设置“抽象”属性来触发此行为。现在问题来了:Django为什么要这样解决?为什么需要这种特殊的“抽象基类”模型?为什么不通过继承对象类并将其与现有模型混合来创建模型混合?或者这也可以通过PythonABC的任务来实现吗?(请注意,我对Python中的ABC类不是很熟悉,我的无知可能会在这里表现出来)

python - Python 何时检查 ABC 的具体子类是否实现了所需的方法?

在尝试编写单元测试来检查抽象基类的具体子类是否真的在实例化时引发TypeError时,如果未实现所需的方法之一,我偶然发现了一些让我想知道何时检查是否需要的东西方法是由具体子类定义的实际执行。到现在为止我会说:在对象实例化时,因为这是运行程序时实际引发异常的时间。但是看看这个片段:importabcclassMyABC(abc.ABC):@abstractmethoddeffoo(self):passMyConcreteSubclass(MyABC):pass正如预期的那样,尝试实例化MyConcreteSubclass会引发TypeError:>>>MyConcreteSubclas

python - 用户定义的通用类型和 collections.abc

我有一个Python包,它根据collections.abc提供的ABC(Mapping、Sequence等)定义了各种集合).我想利用Python3.5中引入的类型提示工具,但我怀疑什么是最好的方法。让我们以其中一个类为例;直到现在,我有一些东西类似这样:fromcollections.abcimportMappingclassMyMapping(Mapping):...要将其转换为通用类型,documentation建议做这样的事情:fromtypingimportTypeVar,Hashable,MappingK=TypeVar("K",bound=Hashable)V=Type

python - 一个子类化 abc 的 django 模型,给出了元类冲突

我有以下模型和抽象基类importabcfromdjango.dbimportmodelsclassAbstractBase():__metaclass__=abc.ABCMeta@abc.abstractmethoddefmy_method(self):returnclassMyModel(models.Model,AbstractBase):@abc.abstractmethoddefmy_method(self):return1但我收到以下错误。metaclassconflict:themetaclassofaderivedclassmustbea(non-strict)subc