我的编辑器(TextMate)id用另一种颜色(当用作变量名)时显示我常用的变量名.它是关键字吗?我不想遮蔽任何关键字......
有一件事,我不明白.
为什么这样呢
import scipy # happens with several other modules, too. I took scipy as an example now...
matrix = scipy.sparse.coo_matrix(some_params)
Run Code Online (Sandbox Code Playgroud)
产生这个错误:
AttributeError: 'module' object has no attribute 'sparse'
Run Code Online (Sandbox Code Playgroud) 几天前我们在公司内部切换到了Java 7--最后!Jay\o /所以我发现了这个Objects类,并且惊讶于方法的实现有多短,hashCode()并且equals()与默认的eclipse(ALT + SHIFT + S - > H)生成的代码相比减少了许多boylerplate代码.
我在想,如果发生日食的默认行为,我可以改变hashCode()和equals()?
我很想看到这个:
@Override
public int hashCode()
{
return Objects.hash(one, two, three, four/*, ...*/);
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((one == null) ? 0 : one.hashCode());
result = prime * result + ((two == null) ? 0 : two.hashCode());
result = prime * result …Run Code Online (Sandbox Code Playgroud) 给出一个清单
old_list = [obj_1, obj_2, obj_3, ...]
Run Code Online (Sandbox Code Playgroud)
我想创建一个列表:
new_list = [[obj_1, obj_2], [obj_3], ...]
Run Code Online (Sandbox Code Playgroud)
哪里obj_1.some_attr == obj_2.some_attr.
我可以把一些for循环和if检查放在一起,但这很难看.这有什么pythonic方式吗?顺便说一句,对象的属性都是字符串.
或者,也可以理解包含元组(具有相同长度)而不是对象的列表的解决方案.
我在effbot上遇到了这段python代码(粘贴在下面),我想知道:
为什么在函数中定义函数?
import re, htmlentitydefs
##
# Removes HTML or XML character references and entities from a text string.
#
# @param text The HTML (or XML) source text.
# @return The plain text, as a Unicode string, if necessary.
def unescape(text):
def fixup(m):
text = m.group(0)
if text[:2] == "&#":
# character reference
try:
if text[:3] == "&#x":
return unichr(int(text[3:-1], 16))
else:
return unichr(int(text[2:-1]))
except ValueError:
pass
else:
# named entity
try:
text = unichr(htmlentitydefs.name2codepoint[text[1:-1]])
except KeyError: …Run Code Online (Sandbox Code Playgroud) Python中的数据类型是否类似于C++中的结构?我喜欢struct功能myStruct.someName.我知道类有这个,但我不想每次为某些数据需要一个"容器"时编写一个类.
如何检查是否有两个实例
class FooBar(object):
__init__(self, param):
self.param = param
self.param_2 = self.function_2(param)
self.param_3 = self.function_3()
Run Code Online (Sandbox Code Playgroud)
是一样的?相同的意思是他们在所有变量中都有相同的值.
a = FooBar(param)
b = FooBar(param)
Run Code Online (Sandbox Code Playgroud)
我想到了
if a == b:
print "a and b are identical"!
Run Code Online (Sandbox Code Playgroud)
这会没有副作用吗?
我的问题的背景是单元测试.我希望实现以下目标:
self.failUnlessEqual(self.my_object.a_function(), another_object)
Run Code Online (Sandbox Code Playgroud) 我在使用eclipse上的PyDev识别已经安装的模块时遇到了问题.这是我的详细方法.这台机器是Mac(Snow Leopard).
在终端命令中
python --version
Run Code Online (Sandbox Code Playgroud)
显示了Python 2.6.6.
import unidecode
Run Code Online (Sandbox Code Playgroud)
和
from unidecode import unidecode
Run Code Online (Sandbox Code Playgroud)
工作都很好!
我在Eclipse中安装了PyDev,然后配置了python解释器(Auto Config).我选择了所有提议的包,然后点击Apply和Ok.
但是eclipse不断抱怨
Traceback (most recent call last):
File "/Users/me/Documents/workspace/myproject/python/pythontest.py", line 12, in <module>
from unidecode import unidecode
ImportError: No module named unidecode
Run Code Online (Sandbox Code Playgroud)
python文件看起来像这样
#!/usr/bin/env python
# encoding: utf-8
import sys
import os
from unidecode import unidecode
def main():
print unidecode(u"Ågot Aakra")
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
当我删除脚本中的第一行时
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
它会导致同样的错误.
有人知道问题所在吗?
我可以将xml文件的内容读取为字符串并使用字符串操作来实现此目的,但我想有一种更优雅的方法可以做到这一点.由于我没有在docus中找到线索,我在这里说:
给定一个xml(见下文)文件,你如何计算xml标签,比如示例中作者标签的数量是最优雅的方式?我们假设每个作者只出现一次.
<root>
<author>Tim</author>
<author>Eva</author>
<author>Martin</author>
etc.
</root>
Run Code Online (Sandbox Code Playgroud)
这个xml文件很简单,但有可能的是,作者并不总是一个接一个地列出,它们之间可能还有其他标记.
我想出的是:
keys, values = zip(*[(key, value) for (key, value) in my_dict.iteritems()])
Run Code Online (Sandbox Code Playgroud)
但我不满意.蟒蛇说什么?