相关疑难解决方法(0)

Python JSON序列化一个Decimal对象

我有一个Decimal('3.9')对象的一部分,并希望将其编码为一个看起来像的JSON字符串{'x': 3.9}.我不关心客户端的精度,所以浮动很好.

是否有一种很好的方法来序列化这个?JSONDecoder不接受Decimal对象,并且事先转换为float会产生{'x': 3.8999999999999999}错误,并且会大大浪费带宽.

python floating-point json decimal

207
推荐指数
12
解决办法
17万
查看次数

从python中的内部类访问外部类

我有这样的情况......

class Outer(object):

    def some_method(self):
        # do something

    class Inner(object):
        def __init__(self):
            self.Outer.some_method()    # <-- this is the line in question
Run Code Online (Sandbox Code Playgroud)

如何OuterInner类中访问类的方法?

编辑 - 感谢您的回复.我的结论是,我需要重新评估我是如何设计这个实现的,并提出一个更强大的方法.

python scope nested inner-classes

86
推荐指数
5
解决办法
6万
查看次数

在 Python 中深度嵌套类 3 层 - 这是不好的做法吗?

我正在工作中编写一个 Python 脚本,用于与 XLS/XLSX/CSV 电子表格进行交互。存在三个相互嵌套的主要类(相互扩展,这些类实际上位于另一个类内部)

三个主要类解释如下:

  1. Workbook类,它是 XLS/XLSX/CSV 类的工厂方法。这是可以从外部访问的
  2. __Worksheet类中的私有类Workbook,用于打开文件本身中的特定电子表格或工作表。这只能通过Workbook.worksheet()方法访问
  3. __Cell类中的私有类__Worksheet,与单元本身交互。这不应该从外部访问,而只能通过__Worksheet类访问

这是迄今为止类结构的简化版本:

class Workbook( object ):

    def __init__( self, file_name ):
        self.__file_name = file_name

    def worksheet( self, name ):
        return self.__Worksheet( self, name )

    class __Worksheet():
        def __init__( self, workbook, worksheet ):
            self.__workbook = workbook

        def cell( self, cell_id, data = None ):
            return self.__Cell( cell_id, data )

        class __Cell():
            def __init__( self, cell, data = …
Run Code Online (Sandbox Code Playgroud)

python oop class subclass

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

标签 统计

python ×3

class ×1

decimal ×1

floating-point ×1

inner-classes ×1

json ×1

nested ×1

oop ×1

scope ×1

subclass ×1