Pergunta

Por que recebo um erro de sintaxe ao imprimir uma string em Python 3?

>>> print "hello World"
  File "<stdin>", line 1
    print "hello World"
                      ^
SyntaxError: invalid syntax
Foi útil?

Solução

Em Python 3, print tornou-se uma função . Isso significa que você precisa para incluir parênteses agora, como mencionado abaixo:

print("Hello World")

Outras dicas

Parece que você está usando Python 3.0, em que impressão se transformou em uma função que pode ser chamado em vez de um comunicado.

print('Hello world!')

Porque em Python 3, print statement foi substituído com um print() function, com argumentos de palavra-chave para substituir a maior parte da sintaxe especial da declaração de impressão antigo. Então você tem que escrevê-lo como

print("Hello World")

Mas se você escrever isso em um programa e alguém usando Python 2.x tenta correr, eles vão receber um erro. Para evitar isso, é uma boa prática para a função de importação de impressão

from __future__ import print_function

Agora você código funciona em ambos 2.x & 3.x

Confira abaixo exemplos também para se familiarizar com print () função.

Old: print "The answer is", 2*2
New: print("The answer is", 2*2)

Old: print x,           # Trailing comma suppresses newline
New: print(x, end=" ")  # Appends a space instead of a newline

Old: print              # Prints a newline
New: print()            # You must call the function!

Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)

Old: print (x, y)       # prints repr((x, y))
New: print((x, y))      # Not the same as print(x, y)!

Fonte: Novidades no Python 3.0

?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top