相关疑难解决方法(0)

Python Ellipsis对象有什么作用?

在闲置浏览命名空间的同时,我注意到一个名为" Ellipsis " 的奇怪物体,它似乎没有或做任何特殊的事情,但它是一个全局可用的内置.

在搜索之后,我发现它被Numpy和Scipy用于切片语法的一些模糊变体......但几乎没有别的.

这个对象是否专门用于支持Numpy + Scipy?省略号是否具有任何通用含义或用途?

D:\workspace\numpy>python
Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> Ellipsis
Ellipsis
Run Code Online (Sandbox Code Playgroud)

python ellipsis

472
推荐指数
11
解决办法
12万
查看次数

如何正确地子类化dict并覆盖__getitem__&__setitem__

我正在调试一些代码,我想知道何时访问特定的字典.好吧,它实际上是一个子类dict并实现了一些额外功能的类.无论如何,我想做的是dict自己子类化并添加覆盖__getitem____setitem__产生一些调试输出.现在,我有

class DictWatch(dict):
    def __init__(self, *args):
        dict.__init__(self, args)

    def __getitem__(self, key):
        val = dict.__getitem__(self, key)
        log.info("GET %s['%s'] = %s" % str(dict.get(self, 'name_label')), str(key), str(val)))
        return val

    def __setitem__(self, key, val):
        log.info("SET %s['%s'] = %s" % str(dict.get(self, 'name_label')), str(key), str(val)))
        dict.__setitem__(self, key, val)
Run Code Online (Sandbox Code Playgroud)

' name_label'是一个最终将设置的键,我想用它来识别输出.然后我改变了我正在修改的类DictWatch而不是dict更改了对超级构造函数的调用.但是,似乎没有任何事情发生.我以为我很聪明,但我想知道我是否应该走另一个方向.

谢谢您的帮助!

python dictionary

75
推荐指数
5
解决办法
8万
查看次数

如何在 Python 中模拟字典

假设我有一个这样的功能:

def do_something(dict_obj):
   # access to the dict_obj then do some stuff
   eg.
   if dict_obj['doors']:
      do_something_with_doors()
   map_car_make(dict_obj['make'])
   ...

   if dict_obj['is_active']:
        do_something_else()
Run Code Online (Sandbox Code Playgroud)

我想模拟dict_obj拥有is_active元素而不关心其余的,我该怎么做?

python mocking

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

pytorch Dataset.__getitem__ 是否必须返回一个字典?

编辑:这不是关于一般方法,而是关于Pytorch 数据集子类中__getitem__的用法,正如 @dataista 正确指出的那样。__getitem__

我正在尝试实现 Pytorchs 数据集类的使用。例如,这里的指南非常好,但我很难弄清楚 Pytorch 对 的返回值的要求__getitem__。在Pytorch 文档中我找不到任何关于它应该返回什么的信息;它是大小为 2 可迭代的任何对象吗[sample,target], (sample,target)?在某些指南中,他们返回一个字典,但他们没有指定它是否必须是返回的字典。

python pytorch

10
推荐指数
1
解决办法
6543
查看次数

数据类对象属性别名

我正在做一个项目来了解有关使用 Python 的更多信息dataclasses。具体来说,我试图将 API 响应表示为一个dataclass对象。但是,由于 API 响应的结构,我遇到了一个问题。

以下是 API 的响应示例:

{
    "@identifier": "example",
    "@name": "John Doe",
}
Run Code Online (Sandbox Code Playgroud)

有些字段的名称中包含特殊字符。这意味着我无法直接映射 my 的属性dataclass,因为@属性名称中不允许使用特殊字符 ( SyntaxError)。

有没有办法为我的属性定义别名dataclass,以便我可以将 API 响应直接映射到dataclass对象?或者是否有必要先清理响应?

python python-dataclasses

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

是否有一种“魔法方法”可以通过 instance[0] 而不是 instance.list[0] 访问在类中定义的列表?

如果我有代码:

names = ["Dave", "John", "Bob"]
Run Code Online (Sandbox Code Playgroud)

我想从我会做的名字中得到戴夫:

names[0]
Run Code Online (Sandbox Code Playgroud)

如果我现在有代码

class Friends:
    def __init__(self, *people):
        self.names = []
        for v in people:
            self.names.append(v)

names = Friends("Dave", "John", "Bob")
Run Code Online (Sandbox Code Playgroud)

现在要得到戴夫,我必须这样做:

names.names[0]
Run Code Online (Sandbox Code Playgroud)

是否有一种神奇的方法或类似的方法,以便我可以这样做:

names[0]
Run Code Online (Sandbox Code Playgroud)

再次得到戴夫?

python oop python-3.x

0
推荐指数
1
解决办法
83
查看次数