Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

5
什么时候应该在Python中使用类?
我已经用python编程了大约两年了。主要是数据(pandas,mpl,numpy),还有自动化脚本和小型Web应用程序。我试图成为一个更好的程序员,并增加我的python知识,而困扰我的一件事是我从未使用过一个类(除了为小型Web应用程序复制随机烧瓶代码外)。我通常理解它们是什么,但是我似乎无法为为什么在一个简单的函数中需要它们的问题而wrap之以鼻。 为了使我的问题更具针对性:我编写了大量的自动报告,这些报告总是涉及从多个数据源(mongo,sql,postgres,api)中提取数据,执行一些或少量的数据整理和格式化,将数据写入csv / excel / html,通过电子邮件发送出去。脚本范围从〜250行到〜600行。我有什么理由要使用类来做到这一点吗?为什么?
174 python  oop 

2
OpenCV –未校准立体声系统的深度图
我正在尝试使用未经校准的方法获得深度图。我可以通过使用SIFT查找对应点然后使用来获得基本矩阵cv2.findFundamentalMat。然后cv2.stereoRectifyUncalibrated,我用于获取每个图像的单应性矩阵。最后,我使用它cv2.warpPerspective来校正和计算视差,但这并不能创建良好的深度图。值非常高,所以我想知道是否必须使用warpPerspective或是否必须根据所获得的单应性矩阵计算旋转矩阵stereoRectifyUncalibrated。 我不确定投影矩阵是否与通过校正得到的单应矩阵有关stereoRectifyUncalibrated。 代码的一部分: #Obtainment of the correspondent point with SIFT sift = cv2.SIFT() ###find the keypoints and descriptors with SIFT kp1, des1 = sift.detectAndCompute(dst1,None) kp2, des2 = sift.detectAndCompute(dst2,None) ###FLANN parameters FLANN_INDEX_KDTREE = 0 index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5) search_params = dict(checks=50) flann = cv2.FlannBasedMatcher(index_params,search_params) matches = flann.knnMatch(des1,des2,k=2) …

6
Django:为什么某些模型字段会相互冲突?
我想创建一个包含2个指向用户的链接的对象。例如: class GameClaim(models.Model): target = models.ForeignKey(User) claimer = models.ForeignKey(User) isAccepted = models.BooleanField() 但是运行服务器时出现以下错误: 字段“目标”的访问器与相关字段“ User.gameclaim_set”冲突。在'target'的定义中添加related_name参数。 字段“ claimer”的访问器与相关字段“ User.gameclaim_set”冲突。在“ claimer”的定义中添加一个related_name参数。 您能否解释为什么我会收到错误以及如何解决这些错误?

6
如何在python中使用当前日期和时间创建文件名?
这是一个功能代码(成功创建文件) sys.stdout = open('filename1.xml', 'w') 现在,我正在尝试使用当前日期时间来命名文件(我不是python的专家) filename1 = datetime.now().strftime("%Y%m%d-%H%M%S") sys.stdout = open(filename1 + '.xml', 'w') 我想写出一个具有确切日期和时间的文件名,它是程序已经创建的xml文件,我只需要命名该文件即可。上面的代码不起作用。 [编辑] -返回错误 File "./fix.py", line 226, in <module> filenames = datetime.now().strftime("%Y%m%d-%H%M%S") AttributeError: 'module' object has no attribute 'now'
173 python 

14
尽管我调用pyplot.show(),但matplotlib不会显示我的绘图
matplotlib上需要帮助。是的,我没有忘记调用pyplot.show()。 $ ipython --pylab import matplotlib.pyplot as p p.plot(range(20), range(20)) 它matplotlib.lines.Line2D at 0xade2b2c作为输出返回。 p.show() 没事了 没有错误讯息。没有新窗口。没有。我matplotlib使用pip进行安装,但未收到任何错误消息。 细节: 我用, 的Ubuntu IPython v0.11 Python v2.6.6 matplotlib v1.0.1

7
切片NumPy 2d数组,或者如何从nxn数组(n> m)中提取mxm子矩阵?
我想切片一个NumPy nxn数组。我想提取该数组的m行和列的任意选择(即,行/列数中没有任何模式),使其成为一个新的mxm数组。对于此示例,假设数组为4x4,我想从中提取2x2数组。 这是我们的数组: from numpy import * x = range(16) x = reshape(x,(4,4)) print x [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] 要删除的行和列相同。最简单的情况是,当我想提取在开始或结尾处的2x2子矩阵时,即: In [33]: x[0:2,0:2] Out[33]: array([[0, 1], [4, 5]]) In [34]: x[2:,2:] Out[34]: array([[10, 11], [14, …
173 python  numpy  slice 

5
我怎样才能告诉PyCharm参数期望是什么类型?
当涉及到构造函数,赋值和方法调用时,PyCharm IDE非常擅长分析我的源代码并弄清楚每个变量应该是什么类型。我很喜欢它,因为它给了我很好的代码完成和参数信息,并且如果我尝试访问一个不存在的属性,它会给我警告。 但是当涉及到参数时,它一无所知。代码完成下拉列表无法显示任何内容,因为它们不知道参数的类型。代码分析无法查找警告。 class Person: def __init__(self, name, age): self.name = name self.age = age peasant = Person("Dennis", 37) # PyCharm knows that the "peasant" variable is of type Person peasant.dig_filth() # shows warning -- Person doesn't have a dig_filth method class King: def repress(self, peasant): # PyCharm has no …

10
用Python注释函数的正确方法是什么?
有没有一种普遍接受的方法来注释Python中的函数?可以接受以下内容吗? ######################################################### # Create a new user ######################################################### def add(self):
173 python 

2
什么时候应使用Flask.g?
我锯是g将请求上下文移动到应用程序上下文瓶0.10,这让我感到困惑的预期用途g。 我的理解(对于Flask 0.9)是: g 驻留在请求上下文中,即在请求开始时重新创建,直到结束时可用 g旨在用作“请求黑板”,在这里我可以放置与请求持续时间相关的内容(即,在请求的开始处设置一个标志,并在结束时(可能从before_request/ after_request对开始)进行处理) 除了保持请求级别状态外,g还可以并且应该用于资源管理,即保持数据库连接等。 在Flask 0.10中,以下哪句话不再适用?有人可以指点我讨论这种变化原因的资源吗?在Flask 0.10中,我应该将什么用作“请求黑板”?我应该创建自己的应用程序/扩展特定于线程的本地代理并将其推送到上下文堆栈before_request吗?如果我的应用程序生存时间很长(不像请求),因此资源从未被释放,那么在应用程序上下文中资源管理的意义何在?
173 python  flask 


14
如何在Django中过滤DateTimeField的日期?
我试图过滤DateTimeField与日期比较。我的意思是: MyObject.objects.filter(datetime_attr=datetime.date(2009,8,22)) 我得到一个空的查询集列表作为答案,因为(我认为)我不在考虑时间,但我希望“任何时间”。 Django中有一种简单的方法吗? 我在datetime中设置了时间,但不是00:00。

13
在类方法上使用property()
我有一个带有两个类方法的类(使用classmethod()函数),用于获取和设置本质上是静态变量的东西。我试图将property()函数与这些函数一起使用,但是会导致错误。我能够在解释器中使用以下代码重现该错误: class Foo(object): _var = 5 @classmethod def getvar(cls): return cls._var @classmethod def setvar(cls, value): cls._var = value var = property(getvar, setvar) 我可以演示类方法,但是它们不能用作属性: >>> f = Foo() >>> f.getvar() 5 >>> f.setvar(4) >>> f.getvar() 4 >>> f.var Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: 'classmethod' …
173 python  oop 


9
为什么在导入模块时Python运行我的模块,以及如何停止它?
我有一个正在构建的Python程序,可以通过以下两种方式之一运行:第一种是调用“ python main.py”,它以友好的方式提示用户输入,然后通过该程序运行用户输入。另一种方法是调用“ python batch.py -file- ”,它将遍历所有友好的输入集合,并通过该程序一次运行整个文件的输入值。 问题是,当我运行“ batch.py​​”时,它会从“ main.py”中导入一些变量/方法/等,并在运行此代码时: import main 在程序的第一行,它立即错误,因为它试图运行“ main.py”中的代码。 如何阻止Python运行要导入的“主”模块中包含的代码?

4
如何捕获像异常一样的numpy警告(不仅用于测试)?
我必须在Python中为正在执行的项目制作Lagrange多项式。我正在做一个重心样式,以避免使用显式的for循环,而不是牛顿的分差样式。我的问题是我需要用零除,但是Python(或者也许是numpy)只是将其警告而不是正常异常。 因此,我需要知道的是如何捕获此警告,就像它是一个例外一样。我在本网站上发现的与此相关的问题并未按照我需要的方式回答。这是我的代码: import numpy as np import matplotlib.pyplot as plt import warnings class Lagrange: def __init__(self, xPts, yPts): self.xPts = np.array(xPts) self.yPts = np.array(yPts) self.degree = len(xPts)-1 self.weights = np.array([np.product([x_j - x_i for x_j in xPts if x_j != x_i]) for x_i in xPts]) def __call__(self, x): warnings.filterwarnings("error") try: bigNumerator …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.