Então chegou. A adolescência. Mais conhecida como “aquela fase em que quer tudo e não pode nada”. Ouviu, num contraditório silêncio, mais do que nunca. Ouviu suas primeiras amizades verdadeiras. Apreciou as incontáveis histórias com uma atenção profunda. Escutou os choros, que aconteciam quase sempre pelos motivos mais dispensáveis. Atentou menos aos pais do que deveria, porque adolescente está nesse mundo para fazer isso mesmo. Ouviu a valsa dos 15. Gritos, gargalhadas, beijos, o mar. Descobriu que nada acalma mais do que o som das ondas. E então ouviu, pela última vez, o sinal do colégio. Bem vinda ao mundo dos adultos.
Hoje, ela ouve mais do que nunca. Ouve a mãe dizendo para levar a blusa, porque já aprendeu que, quando isso acontece, é um sinal de que vai esfriar. Ouve o pai que, durante um almoço, olha e diz que não sabe quando foi que você cresceu tanto. Ouve as amigas, e já é considerada a que nasceu pronta para isso. Ouve muito mais “nãos” do que antes, e aprendeu que mais importante que saber ouvi-los é saber falá-los. Ainda escuta suas próprias cantorias e entende que ninguém é feliz com “carreiras solos”.
Hoje, 20 anos depois, ela ouve seu coração, ainda quente. Sabe ouvir as pessoas como ninguém, e torna as histórias alheias a sua própria. Acha que saber entender o que o universo tem a dizer é maior do que qualquer outra coisa. Hoje ela descobriu para que veio.
Quer participar do concurso de crônicas Eu na Vogue? Mande seu texto para eunavogue@globocondenast.com.br

Na WeSpeak.Tech temos uma equipa de desenvolvimento preparada para criar qualquer solução à medida das suas necessidades.

Um dos aspectos mais incompreendidos de Python é a declaração do argumento self para métodos. Esse texto tentará apresentar uma explicação baseada em funções. Pressupomos que o leitor já conheça a linguagem e saiba como definir funções em Python.
Para compreender o sentido do parâmetro self, temos de entender o que é uma classe. Uma classe é um "modelo" para diversos valores, que são chamados objetos. Definir classes é bem simples, e nem precisamos fazer algo em sua definição. Por exemplo, a classe Person abaixo, que usaremos para representar pessoas, é definida sem nenhum comando significante dentro dela, exceto o comando pass, que informa que nada será feito além de definir a classe.
A definição de classe não faz nada além de dizer que existe a classe Person. Para executarmos operações nessa classe, precisamos definir funções que atuem sobre ela. Por exemplo, funções que armazenem o nome da pessoa:
Por uma questão de praticidade, é tradição declarar as funções que operam sobre uma classe dentro da própria classe. Uma vez que a função foi declarada dentro da classe, toda vez que a função for chamada o nome da classe deve vir antes; isto é, chamar uma função declarada dentro de uma classe é como chamá-la de um módulo.
No código abaixo, declaramos a função dentro da classe, ao invés de ficar do lado de fora. A vantagem de fazer isso é que o código que altera a classe fica mais próximo da definição, ficando mais separado e legível. Depois, é só chamar o nome da classe seguido do nome da função que ele executa. É como se a função fosse um valor da classe.
Entretanto, embora essa notação possa ser muito útil, ficar digitando o nome da classe pode ser bem entediante. Certamente é redundante, pois todo objeto sabe a qual classe pertence. Desse modo, tiveram a idéia de, ao invés de preceder o nome da função com o nome da classe, precedê-lo com o objeto que é o primeiro parâmetro. Obviamente, não faz sentido usar o nome do objeto antes do nome da função e depois como parâmetro, como woman.set_name(woman, 'Juliana') . Se o nome do objeto já está lá antes do nome da função, ele deve ser retirado da lista de parâmetros, como no código do objeto antes da função (abaixo).
Essas "funções dentro de classes" são chamadas de métodos. Para chamar métodos, tanto faz chamá-los como em Classe.metodo(objeto, parametros) quanto chamá-los como em objeto.metodo(parametros)
As formas são equivalentes, com apenas uma ressalva: objeto deve ser um objeto da classe Classe. Por sinal, mesmo a primeira notação Classe.metodo(objeto, parametros) resultaria em erro se objeto não fosse um objeto da classe Classe.
No método Person.set_name acima, o nome do primeiro parâmetro do método era person. Entretanto, é tradição chamar esse primeiro parâmetro de self. Por quê?