相关疑难解决方法(0)

__slots__的用法?

__slots__Python中的目的是什么- 特别是关于我何时想要使用它,何时不想使用它?

python oop slots python-internals

697
推荐指数
10
解决办法
18万
查看次数

什么是鸭子打字?

我在网上阅读随机主题时遇到了鸭子打字这个术语,并没有完全理解它.

什么是"鸭子打字"?

programming-languages duck-typing

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

"i"在Python .pyi扩展名中表示什么?

在Python中,"i"在.pyi扩展名中表示什么?

PEP-484中,它提到.pyi是"存根文件",但没有关于扩展的助记符帮助.那么"我"的意思是"包括"吗?"实施"?"接口"?

python

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

Python中的Java抽象/接口设计

我有许多类都共享相同的方法,只有不同的实现.在Java中,让每个类实现一个接口或扩展一个抽象类是有意义的.Python有没有类似的东西,或者我应该采取替代方法?

python java abstract-class interface

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

Python 2.6,3抽象基类误解

当我使用ABCMeta和abstractmethod时,我没有看到我的期望.

这在python3中工作正常:

from abc import ABCMeta, abstractmethod

class Super(metaclass=ABCMeta):
    @abstractmethod
    def method(self):
        pass

a = Super()
TypeError: Can't instantiate abstract class Super ...
Run Code Online (Sandbox Code Playgroud)

而在2.6:

class Super():
    __metaclass__ = ABCMeta
    @abstractmethod
    def method(self):
         pass

a = Super()
TypeError: Can't instantiate abstract class Super ...
Run Code Online (Sandbox Code Playgroud)

除了ABCMeta之外,如果我从对象派生Super,它们也都可以正常工作(我得到了预期的异常).

如果我从列表中派生超级,他们都"失败"(没有例外).

我想要一个抽象基类作为列表但是抽象,并且在子类中具体.

我做错了,还是我不想在python中使用它?

python abstract-class

9
推荐指数
1
解决办法
2966
查看次数

如何构建基本的类层次结构?

我知道如何编写和使用简单的类,我甚至知道继承如何工作以及如何使用它.但是,关于如何实际设计类层次结构,甚至如何设计简单类的指南数量非常有限?另外,我何时以及为什么要继承(或使用)一个类?

所以我不是在问我怎么样,我在问何时以及为什么.示例代码总是一种很好的学习方式,所以我很感激它们.此外,强调设计的进展,而不是简单地给出一个句子的时间和原因.

我主要使用C++,C#和Python编程,但我可能会理解大多数语言中的简单示例.

如果任何条款似乎混淆了,请随时编辑我的问题.我不是本地人,我不确定所有的话.

c++ python inheritance class class-hierarchy

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

python语言中有些东西类似于Java或C++中的接口吗?

我曾经习惯使用Java或C++编程,两者都有'接口'机制.在一些面向对象编程和设计模式的书中,经常提到界面.

Python中的接口有什么类似的东西吗?

python oop design-patterns

6
推荐指数
0
解决办法
3299
查看次数