Python 3.6+ 中的格式化字符串文字
Formatted string literals in Python 3.6+
Python 3.6+
中的格式化字符串文字
我正在阅读格式化字符串文字 (a.k.a f-string
),这是 Python 3.6 更新中添加的功能。我发现它比以前做类似项目的方法更容易阅读,但我在执行代码时遇到了麻烦。这是我到目前为止所做的示例 (test.py):
#!/usr/bin/python3
greeting = 'Hello'
name = 'World'
message = f'{greeting}, {name}.'
print(message)
如您所见,这是我用来更加熟悉此 f-string
功能的简单代码。当我尝试 运行 此代码时,我不断收到此错误:
File "/home/user/Desktop/Python/My Programs/test.py", line 5
message = f'{greeting}, {name}.'
^
SyntaxError: invalid syntax
[Finished in 0.0s with exit code 1]
现在这个错误响应告诉我最后的 ( ' ) 是导致它 运行 不正确的原因。我试过 space 不同的方式,看看它是否可以这么简单,但仍然没有运气。下面是我用来编写和执行 Python 代码的设置:
文本编辑器:
我目前正在使用 Sublime Text
添加了帮助代码 Python3 代码的功能。这些功能包括:BracketHighlighter
和 Anaconda
包。我还更改了 Sublime Text 中的一些设置,但我不认为这是导致此问题的原因,因为我主要只更改了图形功能。
额外:
起初我以为 Sublime Text 可能会尝试使用较低版本的 Python 执行 Python3 代码,所以当我尝试通过终端在 Ubuntu 中执行它时,它仍然给了我同样的错误。我用这个执行了代码:
python3 test.py
希望这些信息足以让人们发现问题。我真的很想全神贯注于这些 f-strings
所以非常感谢任何帮助。
根据要求,我仔细检查了 Python 的当前版本 我使用的是:
import sys; print(sys.version)
回复如下:
3.6.1 (default, Mar 22 2017, 06:17:05)
[GCC 6.3.0 20170321]
代码的解决方案:
似乎解决我问题的方法是将此添加到终端命令以执行它:
python3.6 test.py
之前我只有:
python3 test.py
那只是用了Python3.5.x来执行而已。现在,当我使用 python3.6 时,一切都正常运行。
Sublime Text 解决方案:
同样对于 Sublime Text,我发现它是在其出厂 Python 版本 (3.5.x) 上设置的 'Build System',但是我创建了一个新的 Build系统代码如下:
{
"cmd": ["/usr/bin/python3.6", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
一旦我保存并选择了这个文件,我就能够在 Sublime 中毫无问题地构建代码。
Python 3.6+
中的格式化字符串文字我正在阅读格式化字符串文字 (a.k.a f-string
),这是 Python 3.6 更新中添加的功能。我发现它比以前做类似项目的方法更容易阅读,但我在执行代码时遇到了麻烦。这是我到目前为止所做的示例 (test.py):
#!/usr/bin/python3
greeting = 'Hello'
name = 'World'
message = f'{greeting}, {name}.'
print(message)
如您所见,这是我用来更加熟悉此 f-string
功能的简单代码。当我尝试 运行 此代码时,我不断收到此错误:
File "/home/user/Desktop/Python/My Programs/test.py", line 5
message = f'{greeting}, {name}.'
^
SyntaxError: invalid syntax
[Finished in 0.0s with exit code 1]
现在这个错误响应告诉我最后的 ( ' ) 是导致它 运行 不正确的原因。我试过 space 不同的方式,看看它是否可以这么简单,但仍然没有运气。下面是我用来编写和执行 Python 代码的设置:
文本编辑器:
我目前正在使用 Sublime Text
添加了帮助代码 Python3 代码的功能。这些功能包括:BracketHighlighter
和 Anaconda
包。我还更改了 Sublime Text 中的一些设置,但我不认为这是导致此问题的原因,因为我主要只更改了图形功能。
额外:
起初我以为 Sublime Text 可能会尝试使用较低版本的 Python 执行 Python3 代码,所以当我尝试通过终端在 Ubuntu 中执行它时,它仍然给了我同样的错误。我用这个执行了代码:
python3 test.py
希望这些信息足以让人们发现问题。我真的很想全神贯注于这些 f-strings
所以非常感谢任何帮助。
根据要求,我仔细检查了 Python 的当前版本 我使用的是:
import sys; print(sys.version)
回复如下:
3.6.1 (default, Mar 22 2017, 06:17:05)
[GCC 6.3.0 20170321]
代码的解决方案:
似乎解决我问题的方法是将此添加到终端命令以执行它:
python3.6 test.py
之前我只有:
python3 test.py
那只是用了Python3.5.x来执行而已。现在,当我使用 python3.6 时,一切都正常运行。
Sublime Text 解决方案:
同样对于 Sublime Text,我发现它是在其出厂 Python 版本 (3.5.x) 上设置的 'Build System',但是我创建了一个新的 Build系统代码如下:
{
"cmd": ["/usr/bin/python3.6", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
一旦我保存并选择了这个文件,我就能够在 Sublime 中毫无问题地构建代码。