Todo mundo ensinando instanciar um objeto e você foi além, muito obrigado, seu tutorial destravou meu código e estava empoeirando por um detalhe.
@ProgramadorLhama3 жыл бұрын
Parceiro, fico muito feliz em ajudar. Tamo junto e te desejo sucesso!
@jessica_barros Жыл бұрын
Suas aulas são boas demais. Obrigada! Finalmente estou começando a entender OOP.
@gabrielmiranda6556 Жыл бұрын
o melhor conteúdo de python que achei no youtube, meus parabéns mano, gostando muito dessa série
@hubdainternet41982 жыл бұрын
Muito boa explicação, quase ngm explica o conceito em si de orientação a objeto tão detalhadamente usando o código pra isso. Obrigado!
@arcanjosanthiago Жыл бұрын
essa aula dá um certo nó na cabeça.... no começo fala-se do variável de classe, depois, diz que não é recomendado, daí antes vc alterava a variável de classe no objeto, depois no final seguindo o padrão com o cls, vai alterar a classe inteira e os objetos vão herdar a mudança..... tipo, tá tudo muito bem ensinado, mas se não prestar bem atenção nesses detalhes, a mente buga
@ViniciusSpreadAnalysisVSA2 жыл бұрын
Eu vou comentar e dar like em todos vídeos SIM! Eu pude entender contexto de forma simples e suave, Obrigado pela serie de aulas!
@JoaoBarbosa-cp7et2 жыл бұрын
Vou ter que comentar de novo! Muito bom mesmo! Parabéns pela didática!
@ProgramadorLhama2 жыл бұрын
Fico muito feliz mesmo em ter ajudado :) Vlw pela confiança!
@JoaoBarbosa-cp7et2 жыл бұрын
MUITO BOM! Depois do vídeo de SOLID, minha cabeça explodiu, nunca tinha estudado POO antes como estou estudando com você! Gratidão por você
@RicardoOliveira-sb5kp Жыл бұрын
Mano, seus vídeos são top demais. Obrigadão pelo conteúdo!
@luci_-ub9xx11 ай бұрын
Aula incrível, estou aprendendo muito e com gosto
@gambiando2 жыл бұрын
Obrigado por mais uma excelente aula!
@renatoandre16567 ай бұрын
Parabéns , excelente aula
@LucasThevenard3 жыл бұрын
Estou adorando essa série de vídeos, muito obrigado! Não venho da área de desenvolvimento, minha formação é em humanas, então assistir um curso como esse tipo de conteúdo, mais focado em teoria, está sendo ótimo para mim! Já tinha procurado, e só achava esse tipo de conteúdo em Java ou C#, mas queria algo em Python. Agradeço demais pelo excelente material que vc disponibilizou. Um detalhe: na anotação dos tipos, acho que você usou 'int' em alguns casos em que deveria ser 'float', não? Talvez valha a pena inserir um comentário no vídeo corrigindo...
@ProgramadorLhama3 жыл бұрын
Fico feliz em ajudar e espero que lhe seja útil. Obrigado pela correção, vou verificar aqui! Tamo junto!!
@dnzin25013 жыл бұрын
Verdade. A partir do minuto 16:13
@Pedro.H9 ай бұрын
Execelente aula !
@cesaraugusto-kq4cz3 жыл бұрын
Mais um conteúdo de muita qualidade mano!!!
@ProgramadorLhama3 жыл бұрын
Tamo junto parceiro!
@pydata2.010 ай бұрын
Rafa, vc recomendaria o livro clean code pra quem está iniciando (ja sabendo os fundamentos do Python), mesmo ele abordando java no livro (se não estou errado)?
@pauloduque30323 жыл бұрын
Rafa, parabéns pela série de vídeos. Estou percorrendo a série em busca do aprendizado em POO (com Python). Esses conceitos são totalmente novos pra mim e estou tendo alguma dificuldade de entendimento, em especial nessa aula sobre variáveis e métodos de classe. Alguma sugestão para reforçar o meu entendimento e avançar no aprendizado ? Obrigado
@ProgramadorLhama3 жыл бұрын
Cara, por hora só consigo te falar pra criar seus proprios projetos e tentar aplicar esses conceitos. Futuramente (logo em seguida na verdade kkk) tô querendo fazer uma playlist de exercícios em POO. Tamo junto Paulo! :)
@pauloduque30323 жыл бұрын
@@ProgramadorLhama Obrigado pelo retorno. Acho que será bem legal ver estes conceitos na prática. Gostaria de sugerir também alguma coisa voltada para MVC, pode ser bem útil para os seus seguidores. Forte abraço
@marcryziusvalkerbur60373 жыл бұрын
tem esse decorador classmethod, mas tem outro decorador que também é utilizado em classes que eu esqueci o nome dele; Poderia fazer um vídeo sobre ele também.
@lucianobatista62953 жыл бұрын
Fala Lhama, tudo bom? Cara eu to com uma dúvida, quando eu uso o cls é impossível utilizar também o self pra ter acesso aos atributos da classe? Eu tentei dessa forma, mas ele considera self como uma variável local do método. class Store: fee = 1.03 def __init__(self, adress: str) -> None: self.__adress = adress def showme_adress(self) -> None: print(self.__adress) @classmethod def sell(cls) -> None: return 40 * cls.fee @classmethod def change_fee(cls, self, new_fee: int) -> None: if self.__adress == "Center": cls.fee = new_fee else: print("You're not allowed to change this price")
@ProgramadorLhama3 жыл бұрын
Infelizmente não é possível. Cls ou self indicam qual o contexto do método desejado: (contexto/escopo de classe ou interno). Logo você vai ter que definir apenas um desses para o seu método
@lucianobatista62953 жыл бұрын
@@ProgramadorLhama tendi, vlww
@philiperiskallaleal60103 жыл бұрын
@@lucianobatista6295 , apenas para completar a resposta do @Programador Lhama, a melhor alternativa para o seu problema é aplicar a técnica de injeção de dependência (ou mesmo de funções privadas contextualizadas via self) sobre o seu método de interesse. Nesta injeção, a sua classe deverá apresentar algum outro método (no contexto da instância - usando SELF) tal que ele retorne a sua class-variable de interesse (vou referir este método específico como "getStaticMethod". Com isso, você pode invocar esta função parcial dentro do seu método principal de interesse. Tendo em mãos a variável estática, juntamente da variável da instância da classe, aí, basta realizar a operação desejada. O truque para você criar aquele método "getStaticMethod" é fazer ele ser do contexto da instância (portanto utilizando SELF), e dentro dele, ao invés de usar "cls", você usa o nome completo da sua classe.
@deniby13 жыл бұрын
eu tenho uma duvida pode ser besta ou nao prestei atenção, porque ao final loja_centro.alterar_tarifa(1.50) print(loja_centro.vender()) print(loja_praia.vender()) - > aqui por que alterou o valor sendo que ali em cima so o valor da loja centro foi alterado.
@ViniciusSpreadAnalysisVSA2 жыл бұрын
Na minha leiga opinião foi porque mudou o contexto de tarifa dentro da classe toda, ou seja, não importa quem mudou o contexto, mas ele foi mudado na classe toda, por isso muda os valores das duas lojas!
@ronildosantos5282 Жыл бұрын
Alguém sabe me informar qual o nome do software que ele usa para fazer os modelos de diagrama?
@ProgramadorLhama Жыл бұрын
Chama DIA. Uso pq não tem conexão com web. Caso queira uma opção online (que consiga se atrelar ao Google Drive) use um que se chama draw.io
@tiagojose32153 жыл бұрын
Muito bom! Uma sugestão: aumenta o tamanho da fonte.
@ProgramadorLhama3 жыл бұрын
Ótima sugestão. Muito obrigado :)
@isabelatrindade17812 жыл бұрын
Fiz um teste trocando o valor da variavel estatica no contexto do objeto e depois troquei o valor na variavel no contexto da classe, porém o valor do contexto da classe não modificou o valor anterior do objeto. A modificação da classe não deveria sobreescrever o do objeto ? class MyClass: estatico = 'lhama' # Variavel de classe/estatica def __init__(self,estado): self.estado = estado obj1 = MyClass(True) obj2 = MyClass(False) # Contexto do declarado - Objeto print(obj1.estatico) print(obj2.estatico) # Contexto geral - Classe print(MyClass.estatico) obj1.estatico = 'Programador' # Contexto do declarado - Objeto print(obj1.estatico) print(obj2.estatico) # Contexto geral - Classe print(MyClass.estatico) MyClass.estatico = 'Programador Isa' # Contexto do declarado - Objeto print(obj1.estatico) print(obj2.estatico) # Contexto geral - Classe print(MyClass.estatico)
@henriquesouza51163 жыл бұрын
Mano, tem uma coisa que eu não entendo... Eu fiz aquele último exemplo sem usar os métodos de classe. class A: def __init__(self, endereco): self.__endereco = endereco self.__tarifa = 1.03 @property def tarifa(self) -> float: return 40 * self.__tarifa def mudar_tarifa(self, tarifa) -> int: self.__tarifa = tarifa h = A("seila") print(h.tarifa) h.mudar_tarifa(1.50) print(h.tarifa) Se eu posso fazer os programas sem usar o método de classe, então para quê eu vou usá-los?
@ProgramadorLhama3 жыл бұрын
Então, essa é uma boa pergunta kkkkk O interpretador de Python aceita tranquilamente vc fazer sem utilizar classmethod e afins. Oq pega mesmo é quando tu vai usar algumas ferramentas de cuidado com o código, ex: Pylint. Ele vai pedir que vc utilize classmethod e vai acusar erro caso não use. Acaba sendo uma prática de cuidado com o código mesmo. Se eu ver um classmethod, eu entendo que aquele método não utiliza nenhum atributo da classe, então manusear tal método acaba sendo mais fácil pois não causaria uma alteração em estados da classe
@henriquesouza51163 жыл бұрын
@@ProgramadorLhama então o classmethod seria opcional? E muito obrigado por me responder!!✌
@ProgramadorLhama3 жыл бұрын
@@henriquesouza5116 então, em tese sim (já que o interpretador do Python ignora esse tipo de caso), entretanto, na grande maioria dos projetos que faço em python, eu utilizo o Pylint para cuidar do meu código e isso "força" a utilização do classmethod. Eu particularmente gosto pois ajuda o próximo desenvolvedor, mas dependendo do projeto (principalmente se for pequeno) podemos ignorar essa formalidade
@henriquesouza51163 жыл бұрын
@@ProgramadorLhama mais uma vez mano, vlw por me responder... Agr finalmente entendi esse clasmethod!! E tbm peço desculpas, pelas perguntas. Tmj✌
@ProgramadorLhama3 жыл бұрын
@@henriquesouza5116 kkkkk tá tranquilo parceiro. Pode deixar tua dúvida nos comentários que eu geralmente respondo a galera. Se tiver mais, tamo aqui. Sucesso!
@pydata2.010 ай бұрын
esta bugou um pouco os neuronios rsrs
@danilo_salve Жыл бұрын
Até agora esse é o único conceito que não foi bem explicado.
@popaheffner Жыл бұрын
Cara, explicação mais mastigada do que essa aula ainda não vi aqui no KZbin. Até um chimpanzé de laboratório vai entender depois dessa aula.