1. ホーム
  2. python-2.7

[解決済み] トリプルクォートされた文字列リテラルのスキャン中に Python EOF が発生する

2022-02-18 16:32:20

質問

Pythonを勉強しているのですが、ある練習をしているときにこのエラーが表示されました。私のコードです。

a = "Half of \nthis sentence."
b = "\tSo far away."
"""
print "Hi my name is %s" % 'Jonas'

トリプルクォーテーションですが、なぜでしょうか?行の下にスペースを空けて、隙間ができるようにしただけなんだけど。

どのように解決するのですか?

すでに言われている通りです。 終わりのない文字列を作ってしまった。

正直なところ、このトリプルクォートを使って何をしようとしているのかよく分からないので、ご希望のコードを提供することはできません。しかし、次のことは覚えておいてください。

トリプルクォートは、文字列を定義するために使用されます。

既にご存知の通り " は、文字列の開始または終了を意味します。また """ ! で文を始めると """ で閉じなければなりません。 """ .

print """Hello"""

このトリプルクォートは、次のような文字を表示する場合に便利です。 " または ' .

print """I have found the letter 'H' in the word "Hello"."""

また、長い文字列を複数行に渡って定義できるという特徴もあります。

print """The width of my
screen prevents me from
writing long sentences."""

そして、そのためにエラーが発生するのです。命令 print "Hi my name is %s" % 'Jonas' の後にあるため、文字列の2行目として解釈されます。 """ これは、文字列が始まったことを意味します。そして、この文字列は完全に定義されているわけでもありません。 """ は、文字列の終わりを示すものです。