比如我现在有一个音频处理类
import subprocess
class AudioProcessor:
def __init__(self, input_file, output_file):
self.input_file = input_file
self.output_file = output_file
def process_audio(self, keep_a=True):
if keep_left:
filter_str = "111"
else:
filter_str = "222"
command = []
try:
subprocess.run(command, check=True)
print(f"Audio processing completed. Output saved to {self.output_file}")
except subprocess.CalledProcessError as e:
print(f"Error occurred during audio processing: {e}")
# 示例使用
if __name__ == "__main__":
input_file = "input_video.mp4"
output_file = "output_video.mp4"
processor = AudioProcessor(input_file, output_file)
processor.process_audio(keep_a=True)
# processor.process_audio(keep_b=False)
继承他并且重写process_audio函数
class Audio(AudioProcessor):
def process_audio(self, keep_left=True):
print('我重写了AudioProcessor类的process_audio函数')
# 如果你想要继承process_audio函数并且初始化AudioProcessor的__init__
class Audio(AudioProcessor):
def __init__(self, input_file, output_file, additional_option=None):
super().__init__(input_file, output_file)
# 初始化了init并且新增参数
self.additional_option = additional_option
def process_audio(self, keep_left=True):
print('我重写了AudioProcessor类的process_audio函数并且初始化调用了__init__')
# 当然 如果你直接调用__init__并没没有super 那么你是在重写__init__函数 原有参数无法被调用