如果使用不当,f-string会报格式错误。最常见的错误就是双引号里面套双引号。单引号也会引发相同错误。
>>>color = {"R": 123, "G": 145, "B": 255}
>>> f"{color["R"]}"
File"<ipython-input-43-1a7f5d512400>", line 1
f"{color["R"]}"
^
SyntaxError: f-string: unmatched '['
>>> f'{color['R']}'
File"<ipython-input-44-3499a4e3120c>", line 1
f'{color['R']}'
^
SyntaxError: f-string: unmatched '['
还有个常见错误是在旧版本python中用f-string。python3.6才引入了f-string。如果在之前版本中使用这个方法,解释器会报格式错误 SyntaxError: invalid syntax。
>>> f"this is an old version"
File"<stdin>", line 1
f"this is an old version"
SyntaxError: invalid syntax
看到这个错误的话,先确定当前使用的Python版本。检查的方法是在Python2.7下通过调用sys.version来获取版本号。
>>> import sys;print(sys.version)
2.7.18 (default, Apr 202020, 19:27:10)
[GCC 8.3.0]