1
내가 노력하고 최선의 예를 들어 설명하고 무엇을 할 수있는 방법이 있는지 궁금 오전 : a.py의Q : 기본 클래스와 파이썬 패키지 구조
내용 :
class A(object):
def run(self):
print('Original')
class Runner(object):
def run(self):
a = A()
a.run()
내용은 b.py :
import a
class A(a.A):
def run(self):
# Do something project-specific
print('new class')
class Runner(a.Runner):
def other_fcn_to_do_things(self):
pass
기본적으로 몇 가지 기본 프로젝트를 사용하고 싶은 파일이 있습니다. 내가 원하는 것은 b.Runner.run()
A
을 b.py
에, 을 run
방법으로 바꿀 필요없이 사용할 수 있습니다. 위의 예에서 "new class"를 인쇄하려면
import b
r = b.Runner()
print(r.run())
을 입력하고 싶습니다. 그것을 할 방법이 있습니까? 그렇게하는 것이 정말 끔찍한 일이며, 코드를 구성하는 더 좋은 방법이 있습니까?
아마'Runner' 클래스 생성자가 받아 들여야
아마 같은 것을 할 더 나을 타입을 취하고 어떤 타입의'run' 메소드를 사용합니까? –
그건 좋은 생각입니다. 그러나 이미 꽤 구체적인 초기화 서명을 기대하는 큰 코드베이스가 있습니다. 나는 그것을 바꾸지 않기를 바랄 것이다. – kgully