파생 클래스의 해당 메서드를 구현할 때 각 함수에 대해 서로 다른 양의 매개 변수를 사용할 수있는 경우 추상 메서드를 사용하여 추상 클래스를 만들 수 있는지 궁금합니다. 나는 현재 내 추상 클래스 from abc import ABCMeta, abstractmethod
class View(metaclass=ABCMeta):
@abstractmet
내가 호출 할 수있는이 일 def print_stuff(items):
if isinstance(items, (str, bytes)):
items = (items,)
for item in items:
print (item)
같은 기능을 가지고 "바이트 및 STR"와 같은 객체 : In [37]: print_stuff
collections.abc 소스 코드를 이해하려고합니다. 는 이제 __subclasshook__ 구현 ' Hashable 클래스를 살펴 보자 : @classmethod
def __subclasshook__(cls, C):
if cls is Hashable:
for B in C.__mro__:
if "__hash__" in
나는 추상 클래스 ship을 가지고 있습니다. from abc import ABC, abstractmethod
class ship(ABC):
def __init__(self):
...
@abstractmethod
def do_stuff(self,stuff,things):
pass
는 내가 추가한다면 c
는 다음 예제 코드를 생각해 적용되지 : __name__가 던더 방법이다, 나 때문에 >>> sub.foo()
concrete
>>> sub.__name__
'abstract'
>>> print(str(sub))
concrete
그러나, 그것은되지 않기 때문에 내가 레모 경우 때문에 @property 및 @abstractmethod 장식이 함께
MappingView 컨테이너와 Sized 컨테이너의 차이점은 무엇입니까? MappingView 컨테이너를 구현하는 방법에 대한 예는 무엇입니까? 전적으로 ABC 및 docs을 오해 한 것일 수 있지만 MappingView 컨테이너는 크기 조정을 상속 한 컨테이너입니다. 맞습니까? 그렇다면 왜 내 더미 예제가 효과가 없습니까? import collectio
일부 클래스가 abc 클래스 (추상 기본 클래스)를 확장하는 경우 모든 추상 메서드를 정의하지 않으면 인스턴스화 할 수 없습니다. 그러나 Decorator 패턴을 구현할 때, 나는 단지 몇 가지 추상 메소드를 정의하고 싶습니다. 다른 것들은 데코 레이팅 된 객체에 위임합니다. 이 작업을 수행하는 방법? from abc import ABCMeta, abstr
추상 기본 클래스 (ABC)의 구체적인 인스턴스에 대한 원시 포인터 벡터의 수명을 수동으로 처리하는 일부 오래된 코드를 다시 작성했습니다. 그래서 벡터의 소유자가 직접 겪은과 벡터의 내용을 삭제 가상 dtor 등 벡터의 소유자가의 요소를 소유하고 있기 때문에 했다, 그것은 많은 의미가 변경할 수 있습니다 unique_ptr의 벡터. 슬프게도 이것이 불가능한
ABC에서 상속받은 클래스의 메서드가 적절한 데코레이터를 사용하여 만들어 지는지 확인하는 방법을 찾으려고합니다. ABC가 일반적으로 어떻게 작동하는지 이해합니다. from abc import ABCMeta, abstractmethod
class MyABC(metaclass=ABCMeta):
@abstractmethod
def my_ab