Jump to content

Recommended Posts

Posted

estou a tentar fazer um exemplo que tenho num livro e fiz o seguinte

class Exemplo:
   valor = 123
   def metodo(self):
    return 'exemplo '+self.valor

if __name__=='__main__':
   i=Exemplo()
   print i.metodo()

o livro parece ter um genero de plicas em self.valor só que se eu colocar peliculas vou concatenar 2 strings

e o resultado esperado deve ser

>>> exemplo 123

alguem consegue detectar o que está mal neste meu codigo para nao estar a obter isso?

Posted (edited)

"exemplo" é uma String e "self.valor" é um Int. Achas que podes fazer assim?

eu sei que nao e o IDE avisa-me que nao posso concatenar uma string com um int

mas o exemplo do livro esta assim como deixei em cima

só que self.valor tem uma plicas curvas que nao sei se sao para considerar ou se sao alguma especiais que ainda nao conheço

se eu colocar plicas em self.valor iguais as da string exmeplo

o resultado é:

>>> exemplo self.valor

e o resultado que o livro diz que se obtem com este exemplo é

>>> exemplo 123

que alteracao é que tenho de fazer sem ter de colocar o self na rua?

ainda tentei com a virgula no lugar do +

mas obtenho um tuplo com exemplo e o valor 123 é de facto obtido com o self.valor

class Exemplo:
   valor = 123
   def metodo(self):
    return 'exemplo ', self.valor

if __name__=='__main__':
   i=Exemplo()
   print i.metodo()
Edited by msmsms
Posted

O livro não "está assim", tu próprio disseste que o livro tem algo mais.

Plicas curvas? Nunca ouvi falar disso. Tens a certeza que não é uma vírgula?

Tens duas hipóteses: ou fazes concatenação com conversão explícita, ou fazes print de múltiplos argumentos (ficam em linha). Nada te diz que tens de copiar tal-e-qual o livro. Podes meter uma mãozinha tua pelo meio, o que é muito saudável.

Knowledge is free!

Posted

Já sei que "plicas" são essas. São acentos graves (já me estava a esquecer deles).

como é que faço a concatenação com '''conversão''' explícita?

Como convertes uma String num Int?

Knowledge is free!

Posted (edited)

Já sei que "plicas" são essas. São acentos graves (já me estava a esquecer deles).

Como convertes uma String num Int?

sim acabei por fazer acentos graves ` ` e deu certo

este livro nao explicou o acento grave em lado algum

respondendo a tua pergunta seria mais como é que se converte um int numa string, acabei por fazer a conversao

apenas estava mesmo preocupado com o facto de nao estar a fazer algo tal como esta no livo

ate breve

class Exemplo:
   'descricao da classe'
   valor = 123
   def metodo(self):
       return 'exemplo ' + str(self.valor)

if __name__=='__main__':
   i=Exemplo()
   print i.metodo()
   print i.valor
   print i.__doc__
Edited by thoga31
Auto-quote removido

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.