相关疑难解决方法(0)

5409
推荐指数
22
解决办法
75万
查看次数

如何在Python中确定对象的大小?

在C中,我们可以找到的大小int,char等我想知道如何获得物体的大小就像一个字符串,整数,等在Python.

相关问题:Python列表(元组)中每个元素有多少字节?

我使用的XML文件包含指定值大小的大小字段.我必须解析这个XML并进行编码.当我想更改特定字段的值时,我将检查该值的大小字段.在这里,我想比较一下我输入的新值是否与XML中的值相同.我需要检查新值的大小.在字符串的情况下,我可以说它的长度.但是在int,float等的情况下我很困惑.

python memory memory-management object sizeof

606
推荐指数
12
解决办法
53万
查看次数

531
推荐指数
6
解决办法
39万
查看次数

Python中的类C结构

有没有办法在Python中方便地定义类似C的结构?我厌倦了写下这样的东西:

class MyStruct():
    def __init__(self, field1, field2, field3):
        self.field1 = field1
        self.field2 = field2
        self.field3 = field3
Run Code Online (Sandbox Code Playgroud)

python struct

416
推荐指数
16
解决办法
48万
查看次数

理解__get__和__set__以及Python描述符

试图了解Python的描述符是什么以及它们对什么有用.但是,我没有成功.我理解它们是如何工作的,但这是我的疑惑.请考虑以下代码:

class Celsius(object):
    def __init__(self, value=0.0):
        self.value = float(value)
    def __get__(self, instance, owner):
        return self.value
    def __set__(self, instance, value):
        self.value = float(value)


class Temperature(object):
    celsius = Celsius()
Run Code Online (Sandbox Code Playgroud)
  1. 为什么我需要描述符类?请使用此示例或您认为更好的示例进行说明.

  2. 什么是instanceowner这里?(in __get__).所以我的问题是,第三个参数的目的是什么?

  3. 我该怎么称呼/使用这个例子?

python descriptor

287
推荐指数
5
解决办法
10万
查看次数

如何实现Python的内置词典

有谁知道如何实现python的内置字典类型?我的理解是它是某种哈希表,但我无法找到任何确定的答案.

python dictionary data-structures

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

类__init __()函数内部和外部的变量

我试图理解,除了这个名字之外,这些类之间是否有任何区别?如果我在声明变量"value"时使用或不使用__init __()函数会有什么不同吗?

class WithClass ():
    def __init__(self):
        self.value = "Bob"
    def my_func(self):
        print(self.value)

class WithoutClass ():
    value = "Bob"

    def my_func(self):
        print(self.value)
Run Code Online (Sandbox Code Playgroud)

我主要担心的是,我将以一种方式使用它,因为这将导致我的问题进一步发展(目前我使用init调用).

python oop class

173
推荐指数
4
解决办法
11万
查看次数

如何在Python中创建不可变对象?

虽然我从来没有需要这个,但让我感到震惊的是在Python中创建一个不可变对象可能会有点棘手.你不能只是覆盖__setattr__,因为那时你甚至不能设置属性__init__.对元组进行子类化是一种有效的技巧:

class Immutable(tuple):

    def __new__(cls, a, b):
        return tuple.__new__(cls, (a, b))

    @property
    def a(self):
        return self[0]

    @property
    def b(self):
        return self[1]

    def __str__(self):
        return "<Immutable {0}, {1}>".format(self.a, self.b)

    def __setattr__(self, *ignored):
        raise NotImplementedError

    def __delattr__(self, *ignored):
        raise NotImplementedError
Run Code Online (Sandbox Code Playgroud)

但是你可以通过和访问ab变量,这很烦人.self[0]self[1]

这在纯Python中是否可行?如果没有,我将如何使用C扩展?

(只能在Python 3中使用的答案是可以接受的).

更新:

因此,子类的元组是做纯Python,效果很好,除了通过访问数据的另一种可能性的方式[0],[1]等等.所以,要完成这个问题,所有这一切都缺少的是HOWTO在C,做"正确的",这我怀疑是非常简单,只是没有实现任何geititemsetattribute等等.但我不是自己做,我为此提供赏金,因为我很懒.:)

python immutability python-3.x

165
推荐指数
11
解决办法
7万
查看次数

所有Python类都应该扩展对象吗?

我发现以下两项工作:

class Foo():
    def a(self):
        print "hello"

class Foo(object):
    def a(self):
        print "hello"
Run Code Online (Sandbox Code Playgroud)

所有Python类都应该扩展对象吗?没有扩展对象有任何潜在的问题吗?

python inheritance

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

Python 2.x中的非本地关键字

我正在尝试在Python 2.6中实现一个闭包,我需要访问一个非局部变量,但似乎这个关键字在python 2.x中不可用.如何在这些版本的python中访问闭包中的非局部变量?

python closures python-2.x python-nonlocal

112
推荐指数
6
解决办法
4万
查看次数