例えば標準入力のテストをしたい時など、毎回入力するのも面倒だし、かといって外部ファイル読み込むのもゴミが増えるだけ
なるべく元のコードを汚さずにテストしたい場合、input()をオーバーライドするのがよさそう
以下のようにテストしたい標準入力の中身を書いておいて、
stdin_test = """1 2
3 4
5 6
"""
ジェネレータでinput()をオーバーライドする
def inp(t):
from io import StringIO
for i in StringIO(t):
yield i
input = inp(stdin_test).__next__
使用例
a = [list(map(int, input().split())) for i in range(3)]
print(a)
>>> [[1, 2], [3, 4], [5, 6]]
もっといいやり方がある気がしないでもない
おわり