2018年3月28日水曜日

(基本)Python 複数行の文字列はトリプルクォーテーションにする

主にJupyterでpython使っているとき。基本的なことなのですが、例えばこのようなcssタグを文字列として渡したいとき。

<style>
  @media only screen and (max-width: 640px) {
    html { font-size: 70%; }
  }
    .hoge1{
      font-size: 0.9em;
    }
    .hoge2 {
      color: red;
      font-weight: bold;
    }
 </style>
シングルクォーテーションにすると、改行で途切れてしまう
👉 \ を末尾に入れればOK

'<style>\
  @media only screen and (max-width: 640px) {\
    html { font-size: 70%; }\
  }\
    .hoge1{\
      font-size: 0.9em;\
    }\
    .hoge2 {\
      color: red;\
      font-weight: bold;\
    }\
 </style>'

できるけど、すごく面倒・・・何も考えずにやってしまいましたが。3重クォーテーションでできる。

'''
<style>
  @media only screen and (max-width: 640px) {
    html { font-size: 70%; }
  }
    .hoge1{
      font-size: 0.9em;
    }
    .hoge2 {
      color: red;
      font-weight: bold;
    }
 </style>
 '''


"""(ダブルクォートを3回)でも同じです。
docstringでしか使わないのでついつい忘れていました。メモ。

■注意

中に ''' ''' があったら """ """ を外側に使う。どちらもあったら変換統一する。

■エラー 未解決
C\User ... などがあるとユニコードでエラーが出る

 File "<ipython-input-1397-68f82e04096f>", line 339
    """
      ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 10429-10430: truncated \UXXXXXXXX escape


https://stackoverflow.com/questions/1347791/unicode-error-unicodeescape-codec-cant-decode-bytes-cannot-open-text-file

これと同じ?

0 件のコメント:

コメントを投稿