¿Cómo reemplazar caracteres en toda la salida de una función en Python?
Digamos que tengo una función
def print_func():
print('this')
print('that')
print('the other one')
Y llamaré a esta función varias veces.
La primera vez, estoy buscando la salida
this
that
the other one
Lo haría así
print_func()
Lo suficientemente simple, pero ¿qué pasa si quiero llamarlo otra vez, y esta vez estoy buscando la salida
this that the other one
Y una tercera vez quiero
this
that
the last one
¿Cuál sería la mejor manera de implementar esto?
EDIT:
Casi lo tengo con:
def print_func(repfrom, repto):
print('this\n'.replace(repfrom, repto), end='')
print('that\n'.replace(repfrom, repto), end='')
print('the other one\n'.replace(repfrom, repto), end='')
Imprimirlos en líneas separadas
print_func('', '')
Imprimirlos todos en la misma línea
print_func('\n', ' ')
Reemplazar “other” por “last”
print_func('other', 'last')
Pero la salida que me está dando es
this
that
the other one
this that the other one this
that
the last one
davy.ai
Una posible solución a este problema es modificar la función
print_func
para aceptar parámetros opcionales para cada cadena que se va a imprimir. Estos parámetros tendrían sus valores originales por defecto, pero podrían ser sobreescritos cuando se llama a la función. Por ejemplo:Esto mostraría:
Con este enfoque, podemos modificar fácilmente cualquiera de las cadenas impresas por la función sin afectar a las demás.