小编Auf*_*ind的帖子

`id`是python中的关键字吗?

我的编辑器(TextMate)id用另一种颜色(当用作变量名)时显示我常用的变量名.它是关键字吗?我不想遮蔽任何关键字......

python keyword

46
推荐指数
4
解决办法
2万
查看次数

为什么python中出现这个AttributeError?

有一件事,我不明白.

为什么这样呢

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)

python import attributeerror

38
推荐指数
2
解决办法
9万
查看次数

如何教eclipse从jdk 7 Objects类生成紧凑的equals()和hashCode()?

几天前我们在公司内部切换到了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)

java eclipse equals hashcode

34
推荐指数
1
解决办法
9866
查看次数

如何在python中按类似的索引/属性对元组/对象列表进行分组?

给出一个清单

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方式吗?顺便说一句,对象的属性都是字符串.

或者,也可以理解包含元组(具有相同长度)而不是对象的列表的解决方案.

python grouping list

31
推荐指数
3
解决办法
3万
查看次数

在python中定义函数的功能有什么好处?

我在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 syntax function

30
推荐指数
3
解决办法
4万
查看次数

Python中的数据类型是否类似于C++中的结构?

Python中的数据类型是否类似于C++中的结构?我喜欢struct功能myStruct.someName.我知道类有这个,但我不想每次为某些数据需要一个"容器"时编写一个类.

c++ python struct types

24
推荐指数
5
解决办法
2万
查看次数

有没有办法检查两个对象在python中的每个变量中是否包含相同的值?

如何检查是否有两个实例

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)

python object match

19
推荐指数
3
解决办法
2万
查看次数

在eclipse中将python模块添加到pydev导致导入错误?

我在使用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).我选择了所有提议的包,然后点击ApplyOk.

但是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)

它会导致同样的错误.

有人知道问题所在吗?

python eclipse import configuration pydev

17
推荐指数
1
解决办法
7万
查看次数

有没有一种优雅的方法来使用python中的lxml来计算xml文件中的标记元素?

我可以将xml文件的内容读取为字符串并使用字符串操作来实现此目的,但我想有一种更优雅的方法可以做到这一点.由于我没有在docus中找到线索,我在这里说:

给定一个xml(见下文)文件,你如何计算xml标签,比如示例中作者标签的数量是最优雅的方式我们假设每个作者只出现一次.

<root>
    <author>Tim</author>
    <author>Eva</author>
    <author>Martin</author>
    etc.
</root>
Run Code Online (Sandbox Code Playgroud)

这个xml文件很简单,但有可能的是,作者并不总是一个接一个地列出,它们之间可能还有其他标记.

python xml tags lxml count

16
推荐指数
2
解决办法
1万
查看次数

15
推荐指数
2
解决办法
3万
查看次数