Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Acentuação

Fiz um teste colocando parâmetros acentuados.

# -*- coding:utf-8 -*-

class Perfil ():
    def __init__ (self, nome, telefone, endereço):
        self.nome = nome
        self.telefone = telefone
        self.endereço = endereço

Porém dá erro de sintaxe na hora de chamar o import, apontando para o caractere que é acentuado. Meu utf-8 está errado?

>>> from models import Perfil
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "models.py", line 4
    def __init__ (self, nome, telefone, endereço):
                                              ^
3 respostas
solução!

Boa noite, Priscila, o # -*- coding:utf-8 -*- não serve para programar utilizando acentos na codificação. A função de adicionarmos isso no código é para usar essas acentuações dentro de um print, por exemplo.

Exemplo:

print 'Olá'

Sem o coding:utf-8 a saída teria erro:

SyntaxError: Non-ASCII character '\xc3' in file teste.py on line 2, but no encoding declared;

Com o coding:utf-8 a saída é:

Olá

Então, resumindo: o coding:utf-8 é para fins de exibir a informação com acentuação e não para codificarmos com acentuação. Espero ter esclarecido, qualquer dúvida é só dizer. Abraço!

Obrigado, Rodrigo! Mas existe alguma forma de utilizarmos acentos no código? Mais por curiosidade mesmo.

Até onde tenho conhecimento, não é possível utilizar acentuações na programação. Acredito que um dos motivos seja facilitar a tradução do código em algo legível a máquina, no meu entendimento permitir acentuações no código-fonte adicionaria mais um custo a esse processo. Mas é de fato uma curiosidade interessante a ser pesquisada :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software