Tag: python

什么是使用getter和setter的pythonic方法?

我是这样做的: def set_property(property,value): def get_property(property): 要么 object.property = value value = object.property 我是Python的新手,所以我仍然在探索这个语法,而且我希望得到一些build议。

通过一个python脚本截图。

我想通过一个python脚本截图,不加介意地保存它。 我只对Linux解决scheme感兴趣,并且应该支持任何基于X的环境。

如何在Python中处理POST和GETvariables?

在PHP中,您可以使用$_POST作为POST,使用$_GET作为GET(查询string)variables。 Python中的等价物是什么?

Matplotlib 2个子图,1个颜色条

我花了太长时间研究如何让两个subplots共享相同的y轴,Matplotlib中的两个共享一个颜色条。 发生的事情是,当我在subplot1或subplot2调用colorbar()函数时,它会自动缩放图,使得色条加上图将适合“子图”边界框内,导致两个并排图是两个完全不同的尺寸。 为了解决这个问题,我尝试创build了第三个子图,然后我用黑色的方式渲染了任何情节。 唯一的问题是,现在这两块地块的高度和宽度是不平衡的,我不知道如何使它看起来不错。 这是我的代码: from __future__ import division import matplotlib.pyplot as plt import numpy as np from matplotlib import patches from matplotlib.ticker import NullFormatter # SIS Functions TE = 1 # Einstein radius g1 = lambda x,y: (TE/2) * (y**2-x**2)/((x**2+y**2)**(3/2)) g2 = lambda x,y: -1*TE*x*y / ((x**2+y**2)**(3/2)) kappa = lambda x,y: TE / (2*np.sqrt(x**2+y**2)) […]

Python中的二进制search(二分)

是否有库函数在列表/元组上执行二进制search,如果find则返回项目的位置,如果不是,则返回“False”(-1,None等)? 我在bisect模块中find了函数bisect_left / right,但是即使项目不在列表中,它们仍然会返回一个位置。 这对他们的预期用法是完全正确的,但我只想知道一个项目是否在列表中(不要插入任何东西)。 我想使用bisect_left ,然后检查该位置上的项目是否与我正在search的项目相同,但看起来很麻烦(而且我还需要进行界限检查,如果该数字可能大于我列表中的最大数字) 。 如果有更好的方法,我想知道它。 编辑为了澄清我需要这个:我知道一个字典将非常适合这个,但我试图保持尽可能低的内存消耗。 我的预期用法是一种双向查找表。 我在表中列出了一个值列表,我需要能够根据它们的索引访问值。 而且我也希望能够find一个特定值的索引,或者如果该值不在列表中,则为无。 使用字典这将是最快的方式,但会(大约)两倍的内存要求。 我在问这个问题,认为我可能忽略了Python库中的某些东西。 Moebuild议,似乎我必须写我自己的代码。

Python – 将UTCdate时间string转换为本地date时间

我从来不需要将时间转换为utc。 最近有一个请求,让我的应用程序是时区意识,我一直在圈自己运行。 很多关于将本地时间转换为utc的信息,我发现这些信息是相当基本的(也许我也是这么做的),但是我找不到任何有关将utc时间转换为最终用户时区的信息。 简而言之,android应用程序发送给我(appengine应用程序)的数据,并在该数据是一个时间戳。 要将该时间戳存储为utc我正在使用: datetime.utcfromtimestamp(timestamp) 这似乎是工作。 当我的应用程序存储数据时,它正在存储为5小时(我是EST -5) 数据被存储在appengine的BigTable中,当被检索出来的时候,就像这样: "2011-01-21 02:37:21" 如何将此string转换为用户正确时区中的DateTime? 另外,用户时区信息的推荐存储空间是什么? (你通常如何储存tz信息,例如:“-5:00”或“EST”等等)?我确定我的第一个问题的答案可能包含第二个答案的参数。

numpy数组和matrix之间有什么区别? 我应该使用哪一个?

每个的优点和缺点是什么? 从我所看到的情况来看,如果需要的话,任何一方都可以替代另一方,所以我应该使用两者还是应该坚持其中之一? 程序的风格会影响我的select吗? 我正在做一些使用numpy的机器学习,所以确实有很多的matrix,但也有很多vector(数组)。

将utf-8文本保存为UTF8,而不是\ u转义序列

示例代码: >>> import json >>> json_string = json.dumps("ברי צקלה") >>> print json_string "\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4" 问题是:这不是人类可读的。 我的(聪明的)用户想要使用JSON转储validation甚至编辑文本文件。 (我宁愿不使用XML) 有没有办法将对象序列化为utf-8 jsonstring(而不是\ uXXXX)? 这没有帮助: >>> output = json_string.decode('string-escape') "\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4" 这工作,但如果任何子对象是一个python-unicode而不是utf-8,它会转储垃圾: >>> #### ok: >>> s= json.dumps( "ברי צקלה", ensure_ascii=False) >>> print json.loads(s) ברי צקלה >>> #### NOT ok: >>> d={ 1: "ברי צקלה", 2: u"ברי צקלה" } […]

如何“完全”覆盖字典?

我怎样才能使“完美”的字典尽可能的子类? 最终目标是要有一个简单的字典 ,其中的键是小写字母。 似乎应该是我可以重写的一些微小的基本元素来完成这项工作,但是我所有的研究和尝试都使得它看起来并不是这样: 如果我重写__getitem__ / __setitem__ ,那么get / set不起作用。 我如何使他们工作? 当然,我不需要单独实施? 我是否阻止酸洗工作,我是否需要实现__setstate__等? 我需要repr , update和__init__ ? 我应该只使用mutablemapping (它似乎不应该使用UserDict或DictMixin )? 如果是这样,怎么样? 文件不完全启发。 这是我第一次去, get()至less不起作用,毫无疑问,有许多微小的细微问题: class arbitrary_dict(dict): """A dictionary that applies an arbitrary key-altering function before accessing the keys.""" def __keytransform__(self, key): return key # Overridden methods. List from # https://stackoverflow.com/questions/2390827/how-to-properly-subclass-dict def __init__(self, *args, **kwargs): self.update(*args, […]

最快的方法来检查列表中是否存在一个值

我正在寻找最快的方法来知道一个列表中是否存在一个值(一个有数百万个值的列表)以及它的索引是什么? 我知道列表中的所有值都是独特的,就像我的例子。 我尝试的第一种方法是(在我的真实代码中为3.8秒): a = [4,2,3,1,5,6] if a.count(7) == 1: b=a.index(7) "Do something with variable b" 我尝试的第二种方法是(快两倍:我的真实代码1.9秒): a = [4,2,3,1,5,6] try: b=a.index(7) except ValueError: "Do nothing" else: "Do something with variable b" 来自Stackoverflow用户的build议方法(在我的真实代码上2.74秒): a = [4,2,3,1,5,6] if 7 in a: a.index(7) 在我的实际代码中,第一个方法需要3.81秒,第二个方法需要1.88秒。 这是一个很好的改进,但是: 我是一个Python /脚本编程的初学者,我想知道是否有最快的方法来做同样的事情,并节省更多的处理时间? 我的应用程序更具体的说明: 在搅拌机的API中,可以访问粒子列表: particles = [1,2,3,4…etc.] 从那里,我可以访问它的位置: particles[x].location = [x,y,z] 而且我通过search每个粒子的位置来testing每个粒子是否存在邻居: […]