Consider a case where g:python3_host_prog is set to /usr/bin/python (3.5.x), and the current shell (e.g. $PATH) uses another python from virtualenv or anaconda, with different version (3.6.x).
In this case, Syntax from python 3.6+ is not supported. e.g.
99 var = 1
E>100 print(f'{var}')
Output of :Semshi error is
Syntax error: invalid syntax (100, 14)
Is this a neovim-related issue? Can we configure python being used in code checking other than neovim's host python (or autodetect from $PATH)?