20/08/04 19:29:59 .net
>>387 なんか見えてきたので間違ってるかもしれないけど一応メモしとく
a=1
b=0
if True:
_a=1
_if True:
__b='1,1'
_else:
__b='1,0'
else:
_a=0
_if True:
__b='0,1'
_else:
__b='0,0'
print(a,b)
こういう書き方のコードって結構見る
if Trueの部分が真偽どちらであろうと結局a,b出力されるじゃんって感じのコード
実際見るコードはaもbも複雑で相互作用しまくってるけど
結局見やすさを追求するなら、変数が出てくる部分をどうにかこうにか関数でやればいいじゃんって思ってきた
f1=lambda n:1 if n else 0
f2=lambda n:1 if n else 0
f30 = lambda n1:lambda n2:'('+str(n1)+','+str(n2)+')f30'
f31 = lambda n1:lambda n2:'('+str(n1)+','+str(n2)+')f31'
f4 = lambda n:1 if n else 0
ab=lambda a:f30(a) if f4(a) else f31(a)
n = f1(True)
a = f1(n)
b = f2(False)
print('a = '+str(a))
print('b = '+str(b))
print('(a,b)='+ab(a)(b))
最終的に使われている変数は何か、が圧倒的に見やすい
いらない変数を削除・編集したときに、削除・編集すべき関数も瞬時にわかる