Tag: python

PEP 8,为什么在关键字参数或默认参数值的'='周围没有空格?

为什么PEP 8build议在关键字参数或默认参数值中不要有空格= ? 这与推荐在Python代码中每个其他出现的位置是否不一致? 怎么: func(1, 2, very_long_variable_name=another_very_long_variable_name) 比: func(1, 2, very_long_variable_name = another_very_long_variable_name) 任何链接到Python的BDFL讨论/解释将不胜感激。 记住,这个问题更多的是关于kwargs的缺省值,我刚刚使用了PEP 8的语句。 我不是在征求意见。 我在问这个决定背后的原因。 这更像是问我为什么要在C程序中使用{在同一行上,而不是我是否应该使用它。

并发性与Python中的多重处理3

Python 3.2引入了Concurrent Futures ,它似乎是旧的线程和多处理模块的一些高级组合。 与以前的多处理模块相比,使用CPU绑定任务的优点和缺点是什么? 这篇文章build议他们更容易处理 – 是这样吗?

为什么在for循环中允许任意的目标expression式?

我不小心写了这样的代码: foo = [42] k = {'c': 'd'} for k['z'] in foo: # Huh?? print k 但令我惊讶的是,这不是一个语法错误。 而是打印{'c': 'd', 'z': 42} 。 我的猜测是,代码字面上翻译成类似于: i = iter(foo) while True: try: k['z'] = i.next() # literally translated to assignment; modifies k! print k except StopIteration: break 但是…为什么这是语言所允许的呢? 我期望只有单一的标识符和标识符的元组应该被允许在目标的目标expression式中 。 有没有什么情况下,这实际上是有用的,不只是一个怪异的陷阱?

JSONDecodeError:期望值:第1行第1列(char 0)

我得到错误Expecting value: line 1 column 1 (char 0)试图解码JSON时。 我用于API调用的URL在浏览器中正常工作,但是通过curl请求完成这个错误。 以下是我用于curl请求的代码。 错误发生在return simplejson.loads(response_json) response_json = self.web_fetch(url) response_json = response_json.decode('utf-8') return json.loads(response_json) def web_fetch(self, url): buffer = StringIO() curl = pycurl.Curl() curl.setopt(curl.URL, url) curl.setopt(curl.TIMEOUT, self.timeout) curl.setopt(curl.WRITEFUNCTION, buffer.write) curl.perform() curl.close() response = buffer.getvalue().strip() return response 完全追溯: 追溯: File "/Users/nab/Desktop/myenv2/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs) File […]

从python生成电影,而不保存个别帧到文件

我想从我在matplotlib中的python脚本中生成的帧创build一个h264或divx电影。 这部电影中大约有10万帧。 在networking上的例子[例如。 1],我只看到了将每个帧保存为png,然后在这些文件上运行mencoder或ffmpeg的方法。 就我而言,保存每一帧是不切实际的。 有没有办法从matplotlib生成的阴谋,并直接pipe道到ffmpeg,不生成中间文件? 用ffmpeg的C-API编程对我来说太困难了[例如。 2]。 此外,我需要一个具有良好的压缩,如x264的编码,因为电影文件否则将是一个后续步骤太大。 所以,坚持使用mencoder / ffmpeg / x264会很好。 有没有什么可以用pipe道做的[3]? [1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html [2] 如何使用x264 C API将一系列图像编码到H264中? [3] http://www.ffmpeg.org/ffmpeg-doc.html#SEC41

以Object作为参数的类

我试图将一些python代码翻译为scala代码。 所以我是一个Python的总noobot。 但为什么一些类有对象作为参数,但从来没有明确使用它? 首先把它作为参数的理由是什么? 例: class Table(object) 感谢您的时间。

找不到满足pytz要求的版本

我有一个问题在virtualenv安装pytz 。 Downloading/unpacking pytz Could not find a version that satisfies the requirement pytz (from versions: 2009r, 2008b, 2009f, 2008c, 2007g, 2011g, 2005m, 2011e, 2007f, 2011k, 2007k, 2006j, 2008h, 2008i, 2011e, 2008a, 2009e, 2006g, 2011j, 2010l, 2005m, 2008i, 2005k, 2008g, 2007c, 2007i, 2009l, 2009r, 2006j, 2011k, 2007d, 2006p, 2009i, 2009u, 2007i, 2009f, 2010g, 2008h, 2009a, […]

为什么在Python中“.join()比+ =快?

我可以在网上find大量的信息(Stack Overflow和其他方式),了解如何在Python中使用+或+=进行连接,这是一种非常低效和糟糕的做法。 我似乎无法findWHY +=是如此低效。 除了在这里提到“在某些情况下已经优化20%”(还不清楚这些情况是怎么样的),我找不到任何额外的信息。 在更技术层面上发生了什么,使''.join()优于其他Python连接方法?

转换2D numpy数组列表的列表

我使用外部模块( libsvm ),它不支持numpy数组,只有元组,列表和字典。 但我的数据是在一个2D numpy数组。 我怎样才能转换pythonic的方式,又名无循环。 >>> import numpy >>> array = numpy.ones((2,4)) >>> data_list = list(array) >>> data_list [array([ 1., 1., 1., 1.]), array([ 1., 1., 1., 1.])] >>> type(data_list[0]) <type 'numpy.ndarray'> # <= what I don't want # non pythonic way using for loop >>> newdata=list() >>> for line in data_list: … line […]

Pylint无效的常量名称

我收到一个关于我的常量MIN_SOIL_PARTICLE_DENS错误: MIN_SOIL_PARTICLE_DENS (无效名称)。 任何想法为什么这个常数是错的? 这是我的全部function: def bulk_density(clay, sand, organic_matter): MIN_SOIL_PARTICLE_DENS = 2.65 x1 = (0.078 + 0.278 * sand + 0.034 * clay + 0.022 * organic_matter – 0.018 * sand * organic_matter – 0.027 * clay * organic_matter – 0.584 * sand * clay) x2 = -0.107 + 1.636 * x1 field_capacity = vol_water_content_33_j_kg(clay, […]