Ir para conteúdo
Fórum Script Brasil

Nerun

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Nerun

Nerun's Achievements

0

Reputação

  1. Descobri, tem um ótimo tutorial aqui: http://www.cafepy.com/article/python_types...nd_objects.html basicamente: class teste: oi = 'oi' se tivermos: a = teste b = teste() Temos que: a é sub-classe de teste b é instância de teste Para verificar cada um: > issublcass(a, teste) True > isinstance(b, teste) True > isinstance(b, a) True Por outro lado: > issubclass(b, teste) Traceback (most recent call last): File "<pyshell#8>", line 1, in <module> issubclass(b, teste) TypeError: issubclass() arg 1 must be a class Portanto o issubclass compara duas classes apenas, e o isinstance compara uma instância e uma classe apenas. Explicação simples: Classe: Felino Sub-classe: Gato Instância: Tom, o meu gato de estimação
  2. Exemplo: > class a: oi = 'oi' > inspect.isclass(a) True > x = a() #uma variável que guarda uma classe, um "tipo" de "a" > inspect.isclass(x) False # até aqui tudo bem, não é classe mesmo Pergunta: como verificar se a variável x guarda um "tipo" da classe a? Do tipo: if x == a: ... x não é igual a, por isso não funciona, mas deve haver um método de verificar se o x é um "tipo" de a... Alguém sabe?
  3. Nerun

    round e arredondamento

    Tudo bem pessoal, já entendi porque a divisão é absurda. Achei na documentação do Python. É sempre assim mesmo. Pra arredondar é útil utilizar o str(): > x = 49/5.0 9.8000000000000007 > y = 289/5.0 57.799999999999997 > str(x) '9.8' > str(y) '57.8' str() converte o número, float ou int, em string. Para exibição isto é ótimo. Isto é, se a idéia é mostrar a alguém que solicita ver aquele valor o número correto, arredondado, então é útil usar str(). E pra trabalhar "por trás" é útil manter em float.
  4. Olá pessoal, Este é meu primeiro tópico no fórum. Eu uso o Python 2.6.2 e Windows. Eu preciso de um número float com um dígito após a vírgula, arredondando para cima. Mas me deparei com algumas estranhezas: 49 / 5 = 9.8 (façam na mão ou na claculadora) 289/5 = 57.8 (exatamente...) No Python: > x = 49/5.0 9.8000000000000007 > y = 289/5.0 57.799999999999997 Até aí tudo bem, eu tento arredondar para 9.8 e 57.8: > round(x,1) 9.8000000000000007 > round(y,1) 57.799999999999997 Alguém me explica o absurdo da divisão de 49 por 5? E 289 por 5? Alguém me explica como arredondar direito?
×
×
  • Criar Novo...