Você está aqui: Python ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como usar os argumentos padrões das funções e métodos em PythonQuantidade de visualizações: 7338 vezes |
Geralmente quando efetuamos chamadas às funções, nosso código fica responsável por fornecer os valores para os argumentos da função. Em Python é possível termos argumentos padrões, e tais argumentos já podem ter um valor pré-definido. Desta forma, a passagem dos parâmetros se torna opcional. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função com argumento padrão def erro(msg = "Houve um erro."): print(msg) def main(): # chamada à função fornecendo o argumento erro("Erro desconhecido.") # chamada à função sem fornecer o argumento erro() if __name__== "__main__": main() Ao executarmos este exemplo nós teremos o seguinte resultado: Erro desconhecido. Houve um erro. Veja mais um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função com argumentos padrões def volume(comprimento = 1, largura = 1, altura = 1): return (comprimento * largura * altura) def main(): # chamada à função fornecendo um argumento print(volume(3)) # chamada à função fornecendo dois argumentos print(volume(4, 5)) # chamada à função fornecendo três argumentos print(volume(4, 5, 7)) # chamada à função fornecendo nenhum argumento print(volume()) if __name__== "__main__": main() Ao executarmos este exemplo nós teremos o seguinte resultado: 3 20 140 1 É importante observar que os argumentos padrões devem estar sempre à direita dos demais argumentos. Falhar em cumprir esta exigência pode causar um erro do tipo: SyntaxError: non-default argument follows default argument |
Link para compartilhar na Internet ou com seus amigos: |
HTML5 ::: HTML5 + JavaScript ::: Canvas |
Como carregar uma imagem (ou foto) no objeto Canvas do HTML5Quantidade de visualizações: 2111 vezes |
O objeto Canvas do HTML5 nos permite carregar uma imagem ou foto em tempo de execução e desenhá-la em sua superfície. Para isso, comece criando um objeto Image para guardar a imagem temporariamente na memória:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; O passo seguinte é adicionar um "ouvidor" de evento neste objeto Image para que ele nos avise quando a imagem estiver 100% carregada. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); Pronto! Veja que agora, quando o evento load do objeto Image disparar, a função desenharImagem será chamada e a imagem será então desenhada no Canvas. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } E aqui está o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } </script> </body> </html> Ao executar a página nós teremos o seguinte resultado: |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Apostila C# para iniciantes - Como listar todos os arquivos de um diretório usando C#Quantidade de visualizações: 28622 vezes |
Nesta dica eu mostro como é possível usar o método GetFiles() da classe Directory para listar todos os arquivos de um determinado diretório. Note como usei o caractere "*" para informar o padrão de arquivos a serem exibidos. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.IO; namespace Estudos{ class Program{ static void Main(string[] args) { string diretorio = @"C:\estudos_dart"; string padrao = "*"; if (args.Length > 0) { diretorio = args[0]; } if (args.Length > 1) { padrao = args[1]; } string[] arquivos = Directory.GetFiles(diretorio, padrao); foreach (string arquivo in arquivos) { Console.WriteLine(arquivo); } } } } Ao executar este código nós teremos uma saída parecida com: C:\estudos_dart\condicional_if_else.dart C:\estudos_dart\DICA.txt C:\estudos_dart\laco_do_while.dart C:\estudos_dart\laco_for.dart C:\estudos_dart\laco_while.dart C:\estudos_dart\primeira.dart |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHPQuantidade de visualizações: 8312 vezes |
Em algumas situações precisamos fornecer um objeto de uma classe para um método de outra classe ou mesmo uma simples função PHP. Nesta dica eu mostro como isso pode ser feito. Note que, ao receber o objeto da classe no método ou função, todas as alterações feitas no objeto serão refletidas no objeto original, ou seja, objetos de classe são automaticamente passados por referência em PHP. Eis o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php // classe Cliente com duas variáveis privadas e seus // correspondentes métodos mutatórios e acessórios class Cliente{ private $nome; private $email; public function setNome($nome){ $this->nome = $nome; } public function getNome(){ return $this->nome; } public function setEmail($email){ $this->email = $email; } public function getEmail(){ return $this->email; } } // vamos criar um novo objeto da classe Cliente $c = new Cliente; $c->setNome("Osmar J. Silva"); $c->setEmail("osmar@arquivodecodigos.com.br"); // vamos agora passar este objeto para uma função PHP imprimirCliente($c); // e aqui está a função que recebe o objeto da classe Cliente // e exibe o valor de suas variáveis function imprimirCliente($cliente){ echo "Nome: " . $cliente->getNome() . "<br> E-Mail: " . $cliente->getEmail(); } ?> Ao executar este código teremos o seguinte resultado: Nome: Osmar J. Silva E-Mail: osmar@arquivodecodigos.com.br |
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como verificar a existência de um diretório usando a função DirectoryExists() do DelphiQuantidade de visualizações: 12753 vezes |
Em algumas situações precisamos saber se um diretório já existe, talvez para evitar que nosso código tente criar um diretório com o mesmo caminho e nome. Em Delphi isso pode ser feito com o auxílio da função DirectoryExists() da unit SysUtils. Esta função recebe uma string contendo o nome do diretório a ser pesquisado e retorna true se o diretório existir e false em caso contrário. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var diretorio: string; begin // diretório que queremos verificar a existência diretorio := 'C:\arquivo de codigos'; // vamos verificar se o diretório existe if DirectoryExists(diretorio) then ShowMessage('O diretório existe') else ShowMessage('O diretório NÃO existe'); end; Note que a unit FileCtrl também contém uma função chamada DirectoryExists(). Porém, esta função foi considerada ultrapassada. Dê preferência àquela da unit SysUtils. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Como tratar o erro IndexOutOfBoundsException do Java - A exceção IndexOutOfBoundsException da linguagem JavaQuantidade de visualizações: 16983 vezes |
A exceção IndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de elementos em um vetor, matriz, string ou demais coleções. Lembre-se de que os índices em Java começam em 0 e vão até a quantidade de elementos menos 1. Antes de vermos os exemplos, observe a posição da classe pública IndexOutOfBoundsException na hierarquia de classes da plataforma Java: java.lang.Object java.lang.Throwable java.lang.Exception java.lang.RuntimeException java.lang.IndexOutOfBoundsException Esta classe implementa a interface Serializable e possui duas sub-classes conhecidas: ArrayIndexOutOfBoundsException e StringIndexOutOfBoundsException. Veja um exemplo no qual tentamos acessar um elemento de um vetor usando um índice inválido: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ // um array de quatro elementos int[] valores = {5, 23, 76, 3}; // vamos fornecer um índice inválido System.out.println(valores[4]); System.exit(0); } } Este código compila normalmente. Porém, ao tentarmos executá-lo, temos a seguinte mensagem de erro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at Estudos.main(Estudos.java:7) A forma mais adequada de corrigir este erro é fornecendo um valor de índice que realmente esteja na faixa permitida. Veja agora o mesmo trecho de código usando uma string: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ String nome = "Java"; // vamos fornecer um índice inválido System.out.println(nome.charAt(4)); System.exit(0); } } Compile este código e execute-o. Você verá a seguinte mensagem de erro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4 at java.lang.String.charAt(Unknown Source) at Estudos.main(Estudos.java:6) Vamos fazer o mesmo usando uma ArrayList: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); // fornecemos um índica inválido String nome = nomes.get(4); System.out.println("O valor obtido foi: " + nome); System.exit(0); } } Compile, execute e veja a mensagem de erro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 4 at java.util.ArrayList.RangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at Estudos.main(Estudos.java:15) Veja que no caso do vetor, a exceção lançada foi ArrayIndexOutOfBoundsException, no caso da string a exceção foi StringIndexOutOfBoundsException e no caso do ArrayList tivemos IndexOutOfBoundsException. Resolvemos abordar estas três exceções em apenas uma anotação para que você perceba a semelhança entre elas. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |