f字符串给出SyntaxError:无效的语法?

时间:2019-06-14 20:00:18

标签: python string syntax-error python-3.7 string-interpolation

我正在尝试学习Python,并在尝试运行此f字符串代码时收到Sublime文本中的语法错误消息

代码:

 # print welcome message
 greeting = 'Hello'
 name = 'Michael'
 message = f'{greeting}, {name}. Welcome!'

 print(message)

错误:

SyntaxError: invalid syntax
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/Users/stevie/Desktop/intro.py"]
[dir: /Users/stevie/Desktop]

2 个答案:

答案 0 :(得分:0)

greeting = 'Hello'
name = 'Michael'
message = f'{greeting} {name} !'
print(message)

//这可以正常工作//

答案 1 :(得分:0)

即使我使用的是Python 3.7.3,我仍然遇到相同的问题

这就是我可以添加到讨论中的内容...当我从命令行运行相同文件(调用与SublimText中创建的.py文件相同)时,它将按预期运行,而不会出现错误。

但是,看起来SublimeText即使输入时将其视为正确的命令也无法处理f字符串。运行时(使用“工具”->“构建”)仅给出“无效语法”。

显然是我自己的新手。我将继续进行研究,但想指出如何从命令行正常运行。以下是我的经验示例。预先感谢您的任何投入。

这是我的(咳嗽,咳嗽)...代码。

greeting = 'Hello'
name = 'Vato'

# message = greeting + ", " + name + "! Welcome.
# message = "{}, {}! Welcome.".format(greeting, name)                  
# f"{'Eric Idle'}"

message = f'{greeting}, {name}! Welcome.'

print('')
print(message)
print('')

这是我使用SublimeText(工具->构建)从解释器中获得的麻烦。

  File "/Users/AAvalos/PythonArea/Intro.py", line 9
    message = f'{greeting}, {name}! Welcome.'
                                            ^
SyntaxError: invalid syntax
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/Users/AAvalos/PythonArea/Intro.py"]
[dir: /Users/AAvalos/PythonArea]
[path: /Library/Frameworks/Python.framework/Versions/3.7/bin:/Users/AAvalos/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public]

但是从命令行运行就可以了。

~/ 03:31:16$
~/ 03:31:37$
~/ 03:31:37$python PythonArea/Intro.py 

Hello, Vato! Welcome.

~/ 03:31:38$
~/ 03:31:39$