Python書いていると、あまりにも1行が長くなってしまう場合がある。
動作的には何も問題ないのだが、可読性が著しく低下してしまう。
ので、いい感じに改行する方法を備忘しておく。
方法
今回改善したいコード
# coding:utf-8
def testFunc(str1, str2, str3):
print(str1 + str2 + str3)
def main():
testFunc('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'cccccccccccccccccccccccccccc')
if __name__ == "__main__":
main()
サンプルにしてももうちょっとマシなコード書けよっていう意見は無視で。
この場合、testFanc関数への引数があまりにも長いため、1行が長くなってしまい結果非常に読みにくい。
可読性を改善するために改行するには、行の終わりに\(バックスラッシュ)をつけるとよい。
# coding:utf-8
def testFunc(str1, str2, str3):
print(str1 + str2 + str3)
def main():
testFunc('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', \
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', \
'cccccccccccccccccccccccccccc')
if __name__ == "__main__":
main()
こんな感じ。
出力結果はどちらも以下のようになる。
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccc
ちなみに、引数の途中で改行するとどうなるか。
例として以下のようなコードを書いてみる。
# coding:utf-8
def testFunc(str1, str2, str3):
print(str1 + str2 + str3)
def main():
testFunc('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', \
'bbbbbbbbbbbbbbbbbbbb \
bbbbbbbbbbb', \
'cccccccccccccccccccccccccccc')
if __name__ == "__main__":
main()
すると出力はこんな感じとなる。
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbcccccccccccccccccccccccccccc
どうやら改行後のインデントのためのスペースも文字列として判定されるらしい(そりゃそうか)
よっぽどのことがない限り、引数の途中で改行することはやめておいたほうがよさそう。
というかやめよう。
コメント