Tag: python

Python:我应该使用类还是字典?

我有一个类只包含字段,没有方法,像这样: class Request(object): def __init__(self, environ): self.environ = environ self.request_method = environ.get('REQUEST_METHOD', None) self.url_scheme = environ.get('wsgi.url_scheme', None) self.request_uri = wsgiref.util.request_uri(environ) self.path = environ.get('PATH_INFO', None) # … 这可以很容易地被翻译成字典。 这个类对于未来的添加更加灵活,并且可以使用__slots__快速。 那么使用dict会有什么好处呢? 字典会比上课快吗? 比带插槽的课程还快?

python pip:强制安装忽略依赖关系

有没有办法强制安装一个Python的Python包忽略所有的依赖不能满足? (我不在乎这样做是多么的“错误”,我只是需要这么做,除了逻辑和推理外……)

用Python支持编译vim

我想用Python 2.5.1编译来编译Vim 7.2,但是我遇到了一些麻烦。 我运行configuration,它似乎像预期的那样工作 ./configure –with-features=huge –enable-pythoninterp –prefix=/home/username/vimpy 我可以看到–with-features变化如我所料(最终的编译版本有新function),并且正确设置Python 检查python …(caching)//python/2.5/bin/python检查Python版本…(caching)2.5检查Python是1.4或更好…检查Python的安装前缀…(caching)// python / 2.5检查Python的执行前缀…(caching)//python/2.5(cached)检查Python的configuration目录…(caching)//python/2.5/lib/python2.5/config/ 然后我运行make ,但我甚至没有看到它试图编译Python的东西。 CC="gcc -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/X11R6/include " srcdir=. sh ./osdef.sh gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include […]

在Python中,“无法使用新样式属性设置属性”

我试图使用新式的属性声明: class C(object): def __init__(self): self._x = 0 @property def x(self): print 'getting' return self._x @x.setter def set_x(self, value): print 'setting' self._x = value if __name__ == '__main__': c = C() print cx cx = 10 print cx 并在控制台中查看以下内容: pydev debugger: starting getting 0 File "\test.py", line 55, in <module> cx = 10 AttributeError: can't […]

Matplotlib图facecolor(背景颜色)

有人可以解释为什么下面的代码在设置graphics的facecolor时不起作用吗? import matplotlib.pyplot as plt # create figure instance fig1 = plt.figure(1) fig1.set_figheight(11) fig1.set_figwidth(8.5) rect = fig1.patch rect.set_facecolor('red') # works with plt.show(). # Does not work with plt.savefig("trial_fig.png") ax = fig1.add_subplot(1,1,1) x = 1, 2, 3 y = 1, 4, 9 ax.plot(x, y) # plt.show() # Will show red face color set above using rect.set_facecolor('red') […]

检查string是否是Python中的大写,小写或混合大小写

我想根据它们是大写,小写还是混合大小写来对Python中的string列表进行分类 我怎样才能做到这一点?

Numpy:用vector元素划分每一行

假设我有一个numpy数组: data = np.array([[1,1,1],[2,2,2],[3,3,3]]) 我有一个相应的“vector:” vector = np.array([1,2,3]) 我如何操作每一行的data来减去或分开,结果是: sub_result = [[0,0,0], [0,0,0], [0,0,0]] div_result = [[1,1,1], [1,1,1], [1,1,1]] 长话短说:我如何使用与每行对应的一维标量数组对一个二维数组的每一行执行操作?

如何退出if子句

过早退出if条款有哪些方法? 有些时候我正在编写代码,并且希望在if子句中放置一个break语句,只记得那些只能用于循环。 让我们以下面的代码为例: if some_condition: … if condition_a: # do something # and then exit the outer if block … if condition_b: # do something # and then exit the outer if block # more code here 我可以想办法做到这一点:假设退出情况发生在嵌套的if语句中,将剩余的代码包装在一个大的else块中。 例: if some_condition: … if condition_a: # do something # and then exit the outer if block […]

Python:在目录中find带有.MP3扩展名的最新文件

我正在尝试在Python中查找特定types的最近修改过的(从这里出来的'最新')文件。 我现在可以得到最新的,但是什么types并不重要。 我只想得到最新的MP3文件。 目前我有: import os newest = max(os.listdir('.'), key = os.path.getctime) print newest 有没有办法修改这只给我只有最新的MP3文件?

任何理由不总是使用关键字参数?

在跳入python之前,我已经开始使用一些Objective-C / Cocoa书籍。 我记得,大多数函数都需要明确声明关键字参数。 直到最近,我忘记了这一切,只是在Python中使用位置参数。 但是最近我遇到了一些由于不正当的位置而造成的一些错误 – 他们是那些偷偷摸摸的小东西。 让我思考 – 一般来说,除非有特别要求非关键字参数的情况 – 有什么好的理由不使用关键字参数? 总是使用它们被认为是不好的风格,即使是简单的function? 我觉得我的50行程序中的大部分已经定期扩展到500或更多行,如果我习惯于总是使用关键字参数,随着代码的增长,代码将变得更容易阅读和维护。 任何理由,这可能不是这样吗? 更新: 我所得到的一般印象是,它的风格偏好,有许多好的论点,一般不应该用于非常简单的论证,而是与其他风格保持一致。 在接受之前,我只想澄清一下 – 这种方法是否存在任何特定的非风格问题 – 例如,性能明显下降?