[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:07.79,0:00:10.19,Default,,0000,0000,0000,,Quando a gente está implementando\Nalguma coisa nova, Dialogue: 0,0:00:10.19,0:00:13.07,Default,,0000,0000,0000,,a gente nunca constrói\Ntudo do zero. Dialogue: 0,0:00:13.07,0:00:14.69,Default,,0000,0000,0000,,Então, nessa brincadeira\Nde reaproveitar Dialogue: 0,0:00:14.69,0:00:15.47,Default,,0000,0000,0000,,o que já está feito, Dialogue: 0,0:00:15.47,0:00:19.54,Default,,0000,0000,0000,,a gente começa a conversar sobre\Nfunção nativa para cá e para lá, Dialogue: 0,0:00:19.54,0:00:21.91,Default,,0000,0000,0000,,e agora finalmente chegou\No momento da gente entender Dialogue: 0,0:00:21.91,0:00:23.88,Default,,0000,0000,0000,,o que são funções,\Npara que servem Dialogue: 0,0:00:23.88,0:00:25.49,Default,,0000,0000,0000,,e construir a nossa primeira. Dialogue: 0,0:00:25.49,0:00:27.02,Default,,0000,0000,0000,,Como a gente já comentou, Dialogue: 0,0:00:27.02,0:00:30.17,Default,,0000,0000,0000,,a gente consegue reaproveitar\Nbastante coisa no desenvolvimento Dialogue: 0,0:00:30.17,0:00:32.03,Default,,0000,0000,0000,,e tem vários motivos\Npara fazer isso. Dialogue: 0,0:00:32.03,0:00:32.77,Default,,0000,0000,0000,,Se a gente quisesse, Dialogue: 0,0:00:32.77,0:00:35.38,Default,,0000,0000,0000,,a gente até poderia fazer\Nisso tudo do zero, Dialogue: 0,0:00:35.38,0:00:37.86,Default,,0000,0000,0000,,mas tem alguns problemas\Nnessa abordagem. Dialogue: 0,0:00:37.86,0:00:39.79,Default,,0000,0000,0000,,Imagina que dentro\Nda sua aplicação, Dialogue: 0,0:00:39.79,0:00:42.39,Default,,0000,0000,0000,,você tem que exibir uma mensagem\Npara algum usuário. Dialogue: 0,0:00:42.39,0:00:43.35,Default,,0000,0000,0000,,Dentro dessa mensagem, Dialogue: 0,0:00:43.35,0:00:45.91,Default,,0000,0000,0000,,você provavelmente\Nvai ter o nome do usuário Dialogue: 0,0:00:45.91,0:00:49.49,Default,,0000,0000,0000,,e alguns elementos extras,\Ncomo um prefixo ou sufixo, Dialogue: 0,0:00:49.49,0:00:50.84,Default,,0000,0000,0000,,alguma coisa desse tipo. Dialogue: 0,0:00:50.84,0:00:53.77,Default,,0000,0000,0000,,Pronto, esse seu código\Nvai funcionar Dialogue: 0,0:00:53.77,0:00:57.26,Default,,0000,0000,0000,,mas felizmente ou, infelizmente,\Nmais para frente no seu código, Dialogue: 0,0:00:57.26,0:01:00.22,Default,,0000,0000,0000,,você vai ter que repetir\Naquele mesmo comportamento. Dialogue: 0,0:01:00.22,0:01:02.41,Default,,0000,0000,0000,,E conforme sua aplicação\Nfor crescendo, Dialogue: 0,0:01:02.41,0:01:05.46,Default,,0000,0000,0000,,provavelmente em outros lugares\Nvocê vai ter que fazer isso também. Dialogue: 0,0:01:05.46,0:01:08.49,Default,,0000,0000,0000,,E não só nesse arquivo,\Nmas em vários outros arquivos. Dialogue: 0,0:01:08.49,0:01:11.49,Default,,0000,0000,0000,,E agora você já está começando\Na enxergar qual que é o problema. Dialogue: 0,0:01:11.49,0:01:14.96,Default,,0000,0000,0000,,Não só a gente não está conseguindo\Nreaproveitar aquele código, Dialogue: 0,0:01:14.96,0:01:17.50,Default,,0000,0000,0000,,porque ele está espalhado\Nno meio da nossa aplicação, Dialogue: 0,0:01:17.50,0:01:19.99,Default,,0000,0000,0000,,como se a gente precisar\Ntrocar aquele comportamento Dialogue: 0,0:01:19.99,0:01:22.73,Default,,0000,0000,0000,,para adicionar ou remover\Nalguma característica, Dialogue: 0,0:01:22.73,0:01:24.45,Default,,0000,0000,0000,,isso vai ser muito complicado, Dialogue: 0,0:01:24.45,0:01:26.90,Default,,0000,0000,0000,,porque a gente vai ter que depender\Nde ferramentas de busca Dialogue: 0,0:01:26.90,0:01:28.94,Default,,0000,0000,0000,,para procurar algum\Ntrecho de código Dialogue: 0,0:01:28.94,0:01:31.48,Default,,0000,0000,0000,,e então alterá-lo\Nem todos os lugares. Dialogue: 0,0:01:31.48,0:01:34.43,Default,,0000,0000,0000,,É muito fácil a gente acabar\Nesquecendo um ou dois lugares Dialogue: 0,0:01:34.43,0:01:36.71,Default,,0000,0000,0000,,e, com isso, injetar\Nbugs no nosso programa. Dialogue: 0,0:01:36.71,0:01:39.67,Default,,0000,0000,0000,,Para resolver esse problema,\Na gente tem as funções, Dialogue: 0,0:01:39.67,0:01:42.86,Default,,0000,0000,0000,,que é a porta de entrada\Npara o tema de abstração. Dialogue: 0,0:01:42.86,0:01:46.92,Default,,0000,0000,0000,,Com elas, a gente consegue criar blocos\Nde código parametrizáveis Dialogue: 0,0:01:46.92,0:01:50.53,Default,,0000,0000,0000,,e executar uma lógica específica\Nquantas vezes a gente quiser. Dialogue: 0,0:01:50.53,0:01:53.28,Default,,0000,0000,0000,,Funções existem basicamente\Ntodas as linguagens, Dialogue: 0,0:01:53.28,0:01:54.83,Default,,0000,0000,0000,,de uma forma ou de outra. Dialogue: 0,0:01:54.83,0:01:58.52,Default,,0000,0000,0000,,E a característica principal\Ndelas é isolar bloco de código Dialogue: 0,0:01:58.52,0:02:00.41,Default,,0000,0000,0000,,para reaproveitamento. Dialogue: 0,0:02:00.41,0:02:03.59,Default,,0000,0000,0000,,Sendo assim, a gente consegue\Nimplementar o que a gente quiser Dialogue: 0,0:02:03.59,0:02:06.02,Default,,0000,0000,0000,,e dar manutenção\Nem um só lugar do nosso código. Dialogue: 0,0:02:06.02,0:02:08.00,Default,,0000,0000,0000,,Se a gente precisar alterar\Num comportamento, Dialogue: 0,0:02:08.00,0:02:10.20,Default,,0000,0000,0000,,basta alterar dentro\Ndaquela função Dialogue: 0,0:02:10.20,0:02:12.28,Default,,0000,0000,0000,,e aonde ela estiver\Nsendo referenciada, Dialogue: 0,0:02:12.28,0:02:14.25,Default,,0000,0000,0000,,o comportamento\Nvai ser atualizado também. Dialogue: 0,0:02:14.25,0:02:15.01,Default,,0000,0000,0000,,Legal. Dialogue: 0,0:02:15.01,0:02:17.40,Default,,0000,0000,0000,,Agora que você entendeu a motivação\Ne, mais ou menos, Dialogue: 0,0:02:17.40,0:02:19.92,Default,,0000,0000,0000,,a ideia por trás das funções,\Nvamos ver, na prática, Dialogue: 0,0:02:19.92,0:02:21.57,Default,,0000,0000,0000,,como que isso funciona no Python. Dialogue: 0,0:02:21.57,0:02:22.96,Default,,0000,0000,0000,,Então, vamos lá para o código. Dialogue: 0,0:02:22.96,0:02:25.68,Default,,0000,0000,0000,,Aqui no VS Code, eu já tenho\No meu arquivo main.py criado. Dialogue: 0,0:02:25.68,0:02:27.82,Default,,0000,0000,0000,,Então, vamos começar\Ndefinindo a nossa função. Dialogue: 0,0:02:27.82,0:02:30.66,Default,,0000,0000,0000,,E, para isso, eu vou usar\Na palavra reservada def. Dialogue: 0,0:02:30.66,0:02:33.47,Default,,0000,0000,0000,,Cada linguagem de programação\Ntem a sua forma de fazer Dialogue: 0,0:02:33.47,0:02:35.21,Default,,0000,0000,0000,,e é assim que a gente faz no Python. Dialogue: 0,0:02:35.21,0:02:37.55,Default,,0000,0000,0000,,Eu vou começar, então, aqui colocando\No nome da minha função, Dialogue: 0,0:02:37.55,0:02:39.64,Default,,0000,0000,0000,,que vai ser exatamente\Nminha_funcao. Dialogue: 0,0:02:39.64,0:02:42.22,Default,,0000,0000,0000,,A gente pode mudar isso\Nno futuro sem problema nenhum. Dialogue: 0,0:02:42.22,0:02:44.78,Default,,0000,0000,0000,,E, para que o Python entenda,\Nde fato, que isso é uma função, Dialogue: 0,0:02:44.78,0:02:47.62,Default,,0000,0000,0000,,eu vou colocar aqui\Nos parênteses e os dois pontos. Dialogue: 0,0:02:47.62,0:02:48.25,Default,,0000,0000,0000,,Pronto. Dialogue: 0,0:02:48.25,0:02:49.01,Default,,0000,0000,0000,,A partir de agora, Dialogue: 0,0:02:49.01,0:02:52.07,Default,,0000,0000,0000,,eu estou livre para desenvolver\No corpo da minha função. Dialogue: 0,0:02:52.07,0:02:54.46,Default,,0000,0000,0000,,Ou seja, o que eu quero\Nque seja executado Dialogue: 0,0:02:54.46,0:02:56.47,Default,,0000,0000,0000,,quando essa função for invocada. Dialogue: 0,0:02:56.47,0:02:59.37,Default,,0000,0000,0000,,No nosso exemplo, a gente vai\Ncolocar apenas um print, Dialogue: 0,0:02:59.37,0:03:02.34,Default,,0000,0000,0000,,escrevendo alguma mensagem\Nsimples, como, por exemplo, Dialogue: 0,0:03:02.34,0:03:06.34,Default,,0000,0000,0000,,"Olá, Aluno",\Ne salvar o arquivo. Dialogue: 0,0:03:06.34,0:03:09.15,Default,,0000,0000,0000,,Nesse momento, a gente já pode\Nexecutar a nossa aplicação Dialogue: 0,0:03:09.15,0:03:11.71,Default,,0000,0000,0000,,usando o python.exe\Ne o nome do arquivo. Dialogue: 0,0:03:11.71,0:03:12.63,Default,,0000,0000,0000,,Veja só. Dialogue: 0,0:03:12.63,0:03:16.79,Default,,0000,0000,0000,,Aqui no terminal,\Neu vou escrever "python.exe .\", Dialogue: 0,0:03:16.79,0:03:19.40,Default,,0000,0000,0000,,e o nome do meu arquivo. Dialogue: 0,0:03:19.40,0:03:21.47,Default,,0000,0000,0000,,.\main.py. Dialogue: 0,0:03:21.47,0:03:22.53,Default,,0000,0000,0000,,E se eu der um enter, Dialogue: 0,0:03:22.53,0:03:25.12,Default,,0000,0000,0000,,repara que a aplicação\Naté executou, Dialogue: 0,0:03:25.12,0:03:27.64,Default,,0000,0000,0000,,mas não aconteceu nada\Nde muito interessante. Dialogue: 0,0:03:27.64,0:03:30.38,Default,,0000,0000,0000,,Isso foi, basicamente,\Nporque eu declarei a minha função, Dialogue: 0,0:03:30.38,0:03:32.67,Default,,0000,0000,0000,,mas eu não invoquei\Nela em lugar algum. Dialogue: 0,0:03:32.67,0:03:35.70,Default,,0000,0000,0000,,Lembra, funções são\Nblocos de abstração. Dialogue: 0,0:03:35.70,0:03:37.94,Default,,0000,0000,0000,,Eu consigo escrever\Ncódigo lá dentro, Dialogue: 0,0:03:37.94,0:03:39.69,Default,,0000,0000,0000,,mas ele só é executado,\Nde fato, Dialogue: 0,0:03:39.69,0:03:41.29,Default,,0000,0000,0000,,quando eu invoco\Nessa função. Dialogue: 0,0:03:41.29,0:03:43.69,Default,,0000,0000,0000,,Então, vamos lá,\Naqui no nosso código. Dialogue: 0,0:03:43.69,0:03:46.11,Default,,0000,0000,0000,,E aqui embaixo, eu vou\Ninvocar essa função. Dialogue: 0,0:03:46.11,0:03:46.90,Default,,0000,0000,0000,,Para fazer isso, Dialogue: 0,0:03:46.90,0:03:49.56,Default,,0000,0000,0000,,basta eu executar\No nome dessa função Dialogue: 0,0:03:49.56,0:03:51.26,Default,,0000,0000,0000,,e colocar aqui os parênteses. Dialogue: 0,0:03:51.26,0:03:53.17,Default,,0000,0000,0000,,Dessa forma, eu estou\Npedindo para o python Dialogue: 0,0:03:53.17,0:03:56.13,Default,,0000,0000,0000,,para que ele pegue e execute\Naquele bloco de código. Dialogue: 0,0:03:56.13,0:03:59.43,Default,,0000,0000,0000,,Se eu rodar novamente\No meu programa, dessa vez sim, Dialogue: 0,0:03:59.43,0:04:02.49,Default,,0000,0000,0000,,a gente tem a mensagem\N"Olá, Aluno", sendo exibida. Dialogue: 0,0:04:02.49,0:04:04.90,Default,,0000,0000,0000,,E bacana, a nossa função\Nestá funcionando, Dialogue: 0,0:04:04.90,0:04:06.85,Default,,0000,0000,0000,,mas ela ainda não tem\Nmuita funcionalidade Dialogue: 0,0:04:06.85,0:04:08.16,Default,,0000,0000,0000,,na nossa aplicação. Dialogue: 0,0:04:08.16,0:04:10.65,Default,,0000,0000,0000,,Porque uma das\Ncaracterísticas de funções Dialogue: 0,0:04:10.65,0:04:13.52,Default,,0000,0000,0000,,é ter a capacidade\Nde ser parametrizada. Dialogue: 0,0:04:13.52,0:04:16.61,Default,,0000,0000,0000,,Ou seja, a gente deve,\Ndependendo do cenário, Dialogue: 0,0:04:16.61,0:04:19.05,Default,,0000,0000,0000,,conseguir manipular\No comportamento dela Dialogue: 0,0:04:19.05,0:04:21.13,Default,,0000,0000,0000,,baseado em informações externas. Dialogue: 0,0:04:21.13,0:04:24.03,Default,,0000,0000,0000,,E isso a gente faz justamente através\Nde parâmetros. Dialogue: 0,0:04:24.03,0:04:27.09,Default,,0000,0000,0000,,No Python, a gente consegue definir\Numa lista de parâmetros Dialogue: 0,0:04:27.09,0:04:28.62,Default,,0000,0000,0000,,que essa função recebe, Dialogue: 0,0:04:28.62,0:04:31.13,Default,,0000,0000,0000,,semelhante à própria\Nfuncionativa print. Dialogue: 0,0:04:31.13,0:04:32.48,Default,,0000,0000,0000,,Se a gente quiser\Nexecutar ela, Dialogue: 0,0:04:32.48,0:04:34.38,Default,,0000,0000,0000,,a gente tem que mandar\Num string, ou seja, Dialogue: 0,0:04:34.38,0:04:37.07,Default,,0000,0000,0000,,um texto que vai ser\Nexibido no terminal. Dialogue: 0,0:04:37.07,0:04:40.61,Default,,0000,0000,0000,,É assim que a gente controla\No comportamento da função print, Dialogue: 0,0:04:40.61,0:04:44.10,Default,,0000,0000,0000,,parametrizando para ela a mensagem\Nque a gente quer que seja exibida. Dialogue: 0,0:04:44.10,0:04:47.71,Default,,0000,0000,0000,,No nosso caso, o que a gente\Nvai fazer é adicionar um parâmetro Dialogue: 0,0:04:47.71,0:04:49.62,Default,,0000,0000,0000,,para que a gente informe\No nome que a gente Dialogue: 0,0:04:49.62,0:04:51.52,Default,,0000,0000,0000,,quer que esteja\Ndentro da mensagem. Dialogue: 0,0:04:51.52,0:04:52.30,Default,,0000,0000,0000,,Entendeu? Dialogue: 0,0:04:52.30,0:04:53.16,Default,,0000,0000,0000,,Então, vamos lá. Dialogue: 0,0:04:53.16,0:04:55.87,Default,,0000,0000,0000,,Aqui no nosso código, então,\Neu vou começar entre os parênteses, Dialogue: 0,0:04:55.87,0:04:59.37,Default,,0000,0000,0000,,colocando o meu parâmetro,\Nque eu vou chamar de nome. Dialogue: 0,0:04:59.37,0:05:01.71,Default,,0000,0000,0000,,E no Python, a gente\Ntem a tipagem dinâmica. Dialogue: 0,0:05:01.71,0:05:05.32,Default,,0000,0000,0000,,Isso significa que eu posso\Ndeixar o meu código dessa forma, Dialogue: 0,0:05:05.32,0:05:09.05,Default,,0000,0000,0000,,e em tempo de execução, o Python\Nvai saber o tipo dessa variável. Dialogue: 0,0:05:09.05,0:05:11.88,Default,,0000,0000,0000,,Mas caso eu queira deixar\Nmais claro para algum desenvolvedor Dialogue: 0,0:05:11.88,0:05:14.86,Default,,0000,0000,0000,,que pegar o nosso código,\Neu posso colocar aqui do lado, Dialogue: 0,0:05:14.86,0:05:18.12,Default,,0000,0000,0000,,na frente dos dois pontos,\No tipo str. Dialogue: 0,0:05:18.12,0:05:22.17,Default,,0000,0000,0000,,Lembra, isso não vai mudar\Nna prática nada dentro da linguagem, Dialogue: 0,0:05:22.17,0:05:24.08,Default,,0000,0000,0000,,mas vai fazer com que alguém\Nque pegue meu código Dialogue: 0,0:05:24.08,0:05:26.68,Default,,0000,0000,0000,,entenda que eu estou esperando\Nque ele mande um string. Dialogue: 0,0:05:26.68,0:05:30.40,Default,,0000,0000,0000,,Se ele mandar um número, o Python\Nnão vai reclamar nesse momento. Dialogue: 0,0:05:30.40,0:05:33.03,Default,,0000,0000,0000,,Mas eu estou informando para ele\Nque o comportamento esperado Dialogue: 0,0:05:33.03,0:05:34.43,Default,,0000,0000,0000,,é que ele mande um texto. Dialogue: 0,0:05:34.43,0:05:35.69,Default,,0000,0000,0000,,Tá bom? Então vamos lá. Dialogue: 0,0:05:35.69,0:05:39.26,Default,,0000,0000,0000,,Agora que dentro do contexto\Nda minha função eu tenho essa variável, Dialogue: 0,0:05:39.26,0:05:40.66,Default,,0000,0000,0000,,eu posso usar ela. Dialogue: 0,0:05:40.66,0:05:42.69,Default,,0000,0000,0000,,Então eu vou basicamente\Ncopiar ela aqui Dialogue: 0,0:05:42.69,0:05:45.23,Default,,0000,0000,0000,,e remover a palavra aluno\Nda minha mensagem, Dialogue: 0,0:05:45.23,0:05:47.60,Default,,0000,0000,0000,,porque agora eu vou fazer\Numa concatenação simples. Dialogue: 0,0:05:47.60,0:05:50.67,Default,,0000,0000,0000,,E para isso, eu vou colocar\Naqui na frente do sinal de mais Dialogue: 0,0:05:50.67,0:05:51.90,Default,,0000,0000,0000,,a variável nome. Dialogue: 0,0:05:51.90,0:05:54.17,Default,,0000,0000,0000,,E vamos ver o que acontece\Nse eu executar o meu código Dialogue: 0,0:05:54.17,0:05:55.63,Default,,0000,0000,0000,,do jeito que ele está. Dialogue: 0,0:05:55.63,0:05:56.45,Default,,0000,0000,0000,,Pronto. Dialogue: 0,0:05:56.45,0:05:59.66,Default,,0000,0000,0000,,A gente agora tem um erro,\Nporque eu defini um parâmetro Dialogue: 0,0:05:59.66,0:06:01.96,Default,,0000,0000,0000,,e ele é um parâmetro posicional. Dialogue: 0,0:06:01.96,0:06:04.69,Default,,0000,0000,0000,,Ou seja, eu posso definir\Nvários parâmetros. Dialogue: 0,0:06:04.69,0:06:07.06,Default,,0000,0000,0000,,A ordem com que eu passar\Neles vai ser a ordem Dialogue: 0,0:06:07.06,0:06:10.12,Default,,0000,0000,0000,,com que o Python vai alocá-los\Ndentro das variáveis. Dialogue: 0,0:06:10.12,0:06:11.17,Default,,0000,0000,0000,,Vamos lá. Dialogue: 0,0:06:11.17,0:06:13.97,Default,,0000,0000,0000,,Isso significa que se eu tivesse\Numa outra variável aqui, Dialogue: 0,0:06:13.97,0:06:18.25,Default,,0000,0000,0000,,por exemplo, idade, eu teria\Nque passar aqui embaixo, Dialogue: 0,0:06:18.25,0:06:20.58,Default,,0000,0000,0000,,dentro da invocação\Nda minha função, Dialogue: 0,0:06:20.58,0:06:22.15,Default,,0000,0000,0000,,a primeira variável\Nque é o nome. Dialogue: 0,0:06:22.15,0:06:24.36,Default,,0000,0000,0000,,Por exemplo, "Aluno". Dialogue: 0,0:06:24.36,0:06:27.35,Default,,0000,0000,0000,,E se eu quiser passar idade,\Neu coloco aqui na frente. Dialogue: 0,0:06:27.35,0:06:29.84,Default,,0000,0000,0000,,Repara que a própria IDE\Njá vai dando dicas para a gente Dialogue: 0,0:06:29.84,0:06:32.43,Default,,0000,0000,0000,,de como que a gente está\Nesperando receber os valores. Dialogue: 0,0:06:32.43,0:06:35.52,Default,,0000,0000,0000,,Mas no nosso cenário, a gente\Nsó vai ter um parâmetro. Dialogue: 0,0:06:35.52,0:06:37.15,Default,,0000,0000,0000,,Então eu vou remover a idade. Dialogue: 0,0:06:37.15,0:06:40.40,Default,,0000,0000,0000,,E se a gente executa novamente\No nosso código, agora sim. Dialogue: 0,0:06:40.40,0:06:43.77,Default,,0000,0000,0000,,A gente tem a mesma mensagem\Nde antes, mas um pouco diferente. Dialogue: 0,0:06:43.77,0:06:46.46,Default,,0000,0000,0000,,Porque essa mensagem agora,\Nela está parametrizável. Dialogue: 0,0:06:46.46,0:06:49.27,Default,,0000,0000,0000,,Ou seja, a gente consegue\Ncontrolar o comportamento Dialogue: 0,0:06:49.27,0:06:51.30,Default,,0000,0000,0000,,daquela função do lado de fora. Dialogue: 0,0:06:51.30,0:06:54.25,Default,,0000,0000,0000,,E se eu quiser usar essa função\Nquantas vezes eu quiser, Dialogue: 0,0:06:54.25,0:06:55.77,Default,,0000,0000,0000,,eu posso sem problema nenhum. Dialogue: 0,0:06:55.77,0:06:57.82,Default,,0000,0000,0000,,Imagina, por exemplo,\Nque aqui embaixo Dialogue: 0,0:06:57.82,0:06:59.91,Default,,0000,0000,0000,,eu vou querer executar\Nela mais duas vezes. Dialogue: 0,0:06:59.91,0:07:03.62,Default,,0000,0000,0000,,Só que dessa vez,\Ncolocando "Aluna", Dialogue: 0,0:07:03.62,0:07:04.70,Default,,0000,0000,0000,,e aqui embaixo, Dialogue: 0,0:07:04.70,0:07:06.52,Default,,0000,0000,0000,,talvez você esteja\Nsentindo falta disso. Dialogue: 0,0:07:06.52,0:07:07.91,Default,,0000,0000,0000,,Então, "Mundo". Dialogue: 0,0:07:07.91,0:07:11.62,Default,,0000,0000,0000,,Se eu limpar o meu terminal\Ne executar novamente a aplicação, Dialogue: 0,0:07:11.62,0:07:14.53,Default,,0000,0000,0000,,a gente vê que a gente tem\Nas três exibições daquela função, Dialogue: 0,0:07:14.53,0:07:17.24,Default,,0000,0000,0000,,sendo que cada uma delas\Nreaproveitou o código Dialogue: 0,0:07:17.24,0:07:19.88,Default,,0000,0000,0000,,que a gente definiu na função,\Nmas foi parametrizado Dialogue: 0,0:07:19.88,0:07:21.93,Default,,0000,0000,0000,,para que o comportamento\Nfosse diferente. Dialogue: 0,0:07:21.93,0:07:23.10,Default,,0000,0000,0000,,Incrível, né? Dialogue: 0,0:07:23.10,0:07:25.04,Default,,0000,0000,0000,,A gente construiu uma função simples, Dialogue: 0,0:07:25.04,0:07:27.74,Default,,0000,0000,0000,,mas as funções estão\Npor todo lugar na linguagem. Dialogue: 0,0:07:27.74,0:07:30.54,Default,,0000,0000,0000,,Sejam funções nativas\Nou funções de pacote que a gente Dialogue: 0,0:07:30.54,0:07:32.70,Default,,0000,0000,0000,,vai uma hora ou outra\Naté que acabar usando. Dialogue: 0,0:07:32.70,0:07:36.14,Default,,0000,0000,0000,,Dá uma explorada nesse código aqui\Ne tenta melhorar ele um pouco. Dialogue: 0,0:07:36.14,0:07:38.50,Default,,0000,0000,0000,,Tenta adicionar um outro parâmetro,\Num outro tipo, Dialogue: 0,0:07:38.50,0:07:41.38,Default,,0000,0000,0000,,faz condicionais lá dentro,\Nloops, quem sabe. Dialogue: 0,0:07:41.38,0:07:42.22,Default,,0000,0000,0000,,Experimenta. Dialogue: 0,0:07:42.22,0:07:45.83,Default,,0000,0000,0000,,Ganhe afinidade com essa sintaxe aqui\Ne vamos ver até onde você chega.