Prévia do material em texto
Operações e métodos de matrizes (Python) Apresentação Matrizes consistem de um conjunto de números organizados em linhas e colunas. As matrizes são uma estrutura básica da matemática, com a qual é possível representar dados e modelar sistemas de equações de forma simples e prática. Na linguagem Python, é possível construir essas estruturas usando as listas. Assim, podem ser utilizadas quantas dimensões forem necessárias. A linguagem Python também fornece comandos que podem ser usados para realizar algumas operações básicas com essas matrizes, que podem ter elementos do mesmo tipo ou de diferentes tipos de dados. Nesta Unidade de Aprendizagem, você vai conhecer os principais operadores nativos da linguagem Python que podem ser empregados junto das matrizes. Serão apresentados alguns operadores de manipulação básica. Além disso, alguns exemplos de aplicações práticas serão desenvolvidos ao longo desta unidade para que você possa compreender as aplicações reais em que as matrizes podem ser empregadas. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Explicar os métodos definidos para matrizes em Python.• Exemplificar a utilização das operações e dos métodos em matrizes no Python.• Utilizar listas e matrizes, bem como os seus métodos, em problemas computacionais.• Desafio As matrizes são um importante elemento da matemática. Uma propriedade muito interessante das matrizes é o determinante. A partir dele é possível, por exemplo, calcular a área de um triângulo qualquer. Se forem conhecidas as coordenadas de todos os 3 vértices do triângulo, pode-se afirmar que a sua área é igual à metade do determinante de uma matriz 3×3, em que cada linha é uma das três coordenadas dos vértices do triângulo. Para completar a última coluna da matriz, deve ter todos os elementos iguais a 1. Existem várias formas de calcular o determinante de uma matriz. O método mais famoso é a Regra de Sarrus, a qual consiste em fazer uma série de multiplicações nas diagonais principais e secundárias da matriz para obter o determinante. Mostre, por meio do seu algoritmo, que a área do triângulo é igual a 15. Infográfico Tarefas simples, como, por exemplo, obter o valor máximo ou mínimo de uma matriz, são funções simples de serem implementadas usando um comando for. No entanto, essas funções, por exemplo, são muito úteis, e são empregadas nos mais variados algoritmos. Por essa razão, a linguagem Python tem essas e muitas outras funções implementadas de forma nativa. Dessa forma, sempre que você precisar usar uma dessas funções, não será necessário programá-la do início, basta usar uma função nativa da linguagem. Um aspecto importante ao usar esses métodos nativos é a sua eficiência. Como eles foram implantados dentro da linguagem, conseguem executar com uma performance muito superior a qualquer implementação que você venha a fazer usando outros comandos. Veja, neste Infográfico, como usar algumas dessas funções que são implementadas de forma nativa na linguagem Python. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Conteúdo do Livro Com as listas da linguagem Python é possível construir estruturas multidimensionais de informações, que são as matrizes. Uma matriz definida na matemática consiste de uma estrutura numérica de linhas e colunas. Na linguagem Python, pode-se assumir que uma lista representa as linhas de uma matriz, enquanto que cada linha armazenada nessa lista consiste de outra lista contendo vários elementos que serão as colunas da matriz. Essa estrutura de dados parece um pouco complexa, mas, depois que você analisar com muito cuidado, é possível perceber que ela é simples e, ao mesmo tempo, muito poderosa. É possível estabelecer vários algoritmos a partir dessa estrutura matricial, basta lembrar que tanto nas ciências exatas quanto nas ciências biológicas é possível modelar vários comportamentos na forma de matrizes. No capítulo Operações e métodos de matrizes (Python), da obra Pensamento Computacional, você vai ver os principais operadores e as funções que a linguagem Python oferece de forma nativa para obter dados e manipular listas e matrizes. A partir desses comandos, vários algoritmos poderão ser construídos de forma rápida sem muito esforço, porque parte do algoritmo já está consolidado na forma de funções nativas. Boa leitura! PENSAMENTO COMPUTACIONAL Cleiton Silvano Goulart Operações e métodos de matrizes (Python) Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Explicar os métodos definidos para matrizes em Python. � Exemplificar a utilização das operações e métodos em matrizes no Python. � Utilizar listas e matrizes, bem como os seus métodos, em problemas computacionais. Introdução Neste capítulo, você vai estudar os principais operadores que podem ser empregados para manipular objetos dentro das matrizes. Essas manipulações podem se dar na forma de inserção, remoção, cópia ou reversão dos elementos. Você vai também identificar os métodos que fornecem informações como valor mínimo, valor máximo e quantidade de elementos. Você ainda vai verificar, por meio de exemplos, como o uso das matrizes e de seus operadores e funções pode ser útil para resolver problemas computacionais simples. Operadores matriciais Uma matriz é uma estrutura numérica organizada em linhas e colunas, con- forme ilustrado em (1). Nesse caso, foi representada uma matriz 3 × 3 — isto é, ela possui três linhas e três colunas. Na linguagem Python, uma matriz semelhante a essa pode ser escrita usando listas. Veja na Figura 1 um exemplo de como representar a mesma matriz usando recursos nativos da linguagem Python. Observe que as letras devem ser subs- tituídas por números. Para escrever essa matriz, foram usadas duas listas. As linhas da matriz foram representadas em uma lista (cada elemento da lista corresponde a uma linha da matriz); a outra lista foi usada para armazenar as linhas em forma de coluna, conforme descreve Perkovic (2016). (1) Figura 1. Exemplo de modelagem da matriz representada em (1) usando a linguagem Python. Seguindo o exemplo da Figura 1, para obtermos o valor na posição f, devemos usar o comando matriz[2][3], em que o índice 2 representa a 2ª linha e o índice 3 representa a 3ª coluna. O nome matriz representa o nome da matriz que será criada. Você pode usar outros nomes, conforme o algoritmo que você esteja desenvolvendo. Para criar uma matriz sem nenhum elemento, basta usar a mesma construção, porém, sem nenhuma informação no lugar dos números. Os índices utilizados dentro dos operadores colchetes sempre começam em 0. Assim, para a primeira linha ou a primeira coluna, deve-se usar o índice 0, para a segunda, o índice 1, e assim sucessivamente. O operador [] (colchetes) é o primeiro método de manipulação de objetos dentro das listas e matrizes na linguagem Python. Além dele, é possível usar os métodos append(), insert(), del(), clear(), pop(), remove() e reverse() (PYTHON SOFTWARE FOUNDATION, 2019). Operações e métodos de matrizes (Python)2 A função matriz.append() é empregada para adicionar um novo elemento na matriz, seja ele uma linha ou uma coluna — depende de como o comando é chamado. Se for utilizado matriz.append(), ele vai adicionar uma nova linha na matriz, com o conteúdo passado dentro do parâmetro da função append(). Já se for utilizado matriz[linha].append(), será adicionada uma nova coluna na linha especificada. É possível, ainda, inserir um novo elemento na matriz com o comando matriz.insert(i, x), em que i representa o índice no qual se deseja colocar o novo elemento, e x representa o elemento a ser adicionado propria- mente dito. Repare que o novo elemento pode ser uma nova linha ou uma nova coluna dentro de uma linha, de forma análoga ao que é realizado com o comando append() (PYTHON SOFTWARE FOUNDATION, 2019). A funçãodel() deve ser utilizada para apagar um elemento específico da matriz e/ou lista. Basta especificar qual é o elemento, usando os operadores colchetes. Tome cuidado: se você não especificar o índice e informar como parâmetro simplesmente o nome da matriz, esse comando vai apagar a matriz inteira. O método matriz.clear() é muito semelhante à função del(), porém, ele não apaga a matriz inteira: após o comando clear(), a matriz fica vazia (PYTHON SOFTWARE FOUNDATION, 2019). Ainda sobre exclusão de elementos, é possível usar o comando ma- triz.pop(i) para remover uma linha especificada pelo índice i ou uma coluna, usando os operadores colchetes da forma matriz[linha]. pop(coluna). Um caso particular do comando pop() é o comando ma- triz.remove(item), o qual remove a primeira linha da matriz que seja igual ao parâmetro do comando remove(). Se você quiser remover a primeira coluna que seja igual a um determinado valor em uma linha específica, basta usar matriz[linha].remove(item). Para excluir uma coluna toda usando esse método, será necessário operar esse comando dentro de um co- mando for, para percorrer todas as linhas da matriz, seja usando o comando pop() ou o comando remove() (PYTHON SOFTWARE FOUNDATION, 2019). O comando matriz.reverse() faz com que os elementos da matriz sejam invertidos. Isto é, a primeira linha fica sendo a última linha da matriz, e vice-versa. O mesmo pode ser aplicado para colunas em uma linha especí- fica, utilizando o comando na forma matriz[linha].reverse(). Para fazer a reversão de todas as colunas, é necessário usar essa estrutura dentro de um comando for, para realizar a operação em todas as linhas da matriz (PYTHON SOFTWARE FOUNDATION, 2019). 3Operações e métodos de matrizes (Python) Métodos de pesquisa e informação sobre os elementos Para obter alguma informação de continência, tamanho, contagem ou extremos da matriz, existem os métodos in, not in, len(), count(), min() e max(). Por meio desses comandos, a busca por alguma informação específica na matriz é extremamente simples. Observe que todos eles podem ser facilmente criados com algum algoritmo simples, usando estruturas de repetição, como o comando for. Porém, esses comandos são nativos da linguagem Python. A maior vantagem disso é que os comandos nativos são otimizados para uma melhor performance. É especialmente importante observar isso quando estamos trabalhando com grandes volumes de dados (PYTHON SOFTWARE FOUNDATION, 2019). A verificação de continência de uma linha em uma matriz, ou de uma coluna dentro de uma linha específica, pode ser realizada por meio dos co- mandos in e not in, que são inversos um ao outro. Esses comandos são operadores que devem ser empregados em estruturas de decisão, como o if (PYTHON SOFTWARE FOUNDATION, 2019). A função len() é capaz de retornar o tamanho de uma matriz. Assim, quando você quer saber quantas linhas existem em uma matriz, você pode usar o comando len(matriz). Para saber a quantidade de colunas em uma linha, basta informar len(matriz[linha]). Já o comando matriz. count(elemento) é capaz de contar quantas ocorrências existem de um determinado elemento na matriz. Da mesma forma que o comando len(), o comando count() pode ser aplicado para verificar a quantidade de linhas iguais ao parâmetro informado ou de colunas em uma mesma linha (PYTHON SOFTWARE FOUNDATION, 2019). Já as funções min() e max() infor- mam a menor ou maior linha em uma matriz, ou mesmo o maior ou menor elemento em uma linha. Exemplos de utilização dos métodos matriciais Na seção anterior, você conferiu vários comandos que podem ser usados com as listas e com as matrizes. A fim de proporcionar um melhor entendimento, vamos ver como usar cada um desses comandos. Na Figura 2, por exemplo, é ilustrada a criação de uma matriz A. Observe que essa matriz foi criada sem nenhuma linha ou coluna. Depois, com o operador de atribuição =, foram atribuídas à matriz A duas linhas, com duas colunas cada. Operações e métodos de matrizes (Python)4 Para ilustrar a busca por algum elemento qualquer dentro da matriz, foi usado nesse exemplo o comando print(A[1][0]). Observe que os operadores colchetes foram empregados para buscar na segunda linha (índice 1) o primeiro elemento (índice 0). A seguir, ainda na Figura 2, foi adicionada uma nova linha com os elementos [5,6] no final da matriz, por meio do comando append(). Lembre-se de que o comando append sempre vai adicionar uma nova linha no final da matriz. Já o comando insert() foi capaz de adicionar um novo elemento na segunda linha da matriz (índice 1). Figura 2. Exemplo de criação de matrizes. A matriz A possui 2 linhas e 2 colunas inicialmente. Na sequência, foi inserida uma nova linha no final da matriz, com o comando append(), e, então, uma nova linha em posição específica, com o comando insert(). A partir dos mesmos dados do exemplo da Figura 2, temos na Figura 3 alguns exemplos de como usar as funções pop(), remove(), del() e clear() para fazer a remoção de elementos da matriz. O comando ma- triz.pop(indice) remove o item especificado no índice passado como parâmetro. Repare que esse índice possui início em 0, da mesma forma que os operadores colchetes. No exemplo da figura, o comando pop foi empregado para remover a quarta linha da matriz, isto é, o elemento da matriz com índice 3. Já o comando matriz.remove(item) fez a remoção da primeira ocorrência do elemento [0,0]. Após o comando remove, repare que a última linha da matriz que também é [0,0] permaneceu. 5Operações e métodos de matrizes (Python) Ainda na Figura 2, é ilustrado como usar o comando del(elemento) para apagar um elemento específico — no caso, a primeira coluna da segunda linha (índices 0 e 1, respectivamente). Após esse comando, repare que a matriz ficou com um número de colunas diferente na segunda linha, em relação às demais linhas. Em uma matriz modelada exclusivamente na matemática, isso não é possível. Nesse caso, o elemento que foi removido seria representado como 0. Porém, a linguagem Python permite essa flexibilidade, conforme leciona Banin (2018). Por fim, na Figura 3, é ilustrado como usar o comando matriz.clear() para apagar toda a matriz. Compare os resultados obtidos nas Figuras 3 e 4, para compreender a diferença no funcionamento dos comandos clear() e del(). Figura 3. Exemplos de remoção de elementos de uma matriz. Operações e métodos de matrizes (Python)6 Repare que a função clear() não apaga a matriz propriamente dita, só apaga os elementos nela contidos. Já o comando del() apaga toda a matriz. Com o comando del(), a matriz deixa de existir, conforme mostra a Figura 4. Com o comando clear(), não. Figura 4. Efeito do comando del(). Ele apaga a matriz toda, de forma que ela deixa de existir. Na Figura 5, é possível observar alguns exemplos dos métodos de obtenção de informações de listas e matrizes. Observe que os comandos in e not in foram usados em conjunto com a estrutura de decisão if. Já a função len() foi empregada para obter o número de linhas da matriz A (veja a linha 13 do código da Figura 5). A função len() também foi empregada para obter o número de colunas da segunda linha da matriz A (índice 1). 7Operações e métodos de matrizes (Python) Figura 5. Exemplo do uso das funções in, not in e len. A função matriz.count(elemento) está ilustrada na Figura 6. Observe que, na linha 3 do código, a função count() foi usada para verificar quantas linhas da matriz possuem exclusivamente o número 1. Na matriz A, não existe nenhuma linha somente com esse valor. Já na linha 5 do código, foi criada uma lista com a contagem de números 1 em cada linha da matriz A. Para fazer isso, foi empregado o comando for de uma maneira especial, que é utilizada para operações simples de processamento para cada linha da matriz. Figura 6. Exemplo do uso da função count(). Operações e métodos de matrizes (Python)8 As funções min() e max() estão ilustradas na Figura 7. Observe queessas funções podem ser empregadas para buscar a linha com os menores e maiores elementos, mas podem ser utilizadas também para buscar o menor e o maior elemento da menor e da maior linha. Figura 7. Exemplo do uso das funções min() e max(). Aplicações das matrizes Determinação de matriz transposta Diz-se que a matriz transposta de A, AT é obtida ao fazer com que as linhas de A passem a ser as colunas de AT, e as colunas de A passem a ser as linhas de AT. Para obter uma matriz transposta, pode-se empregar comandos for, de forma a percorrer toda a matriz. Na Figura 8, temos um exemplo de como obter uma matriz transposta a partir do uso de comandos for. A matriz transposta é particularmente útil quando queremos trabalhar com as colunas, e não com as linhas, ou vice-versa. Suponha, por exemplo, que você tem uma matriz com os dados de um experimento, organizados de forma que cada linha da matriz seja uma amostra do experimento. Com a matriz transposta, é possível separar uma coluna de interesse na forma de uma lista. Assim, é possível usar os comandos min() e max() com grande facilidade, conforme aponta Kuerten (2001). 9Operações e métodos de matrizes (Python) Figura 8. Exemplo de determinação de uma matriz transposta. Para saber mais sobre a operação matemática de matrizes, consulte, no link a seguir, o trabalho de conclusão de curso de Cristini Kuerten (2001). Esse estudo aborda as principais propriedades e operações matemáticas envolvidas com as matrizes, de forma clara e com diversos exemplos. https://qrgo.page.link/SJ3qd Multiplicação matricial A multiplicação entre duas matrizes deve ser feita a partir da soma dos pro- dutos das linhas pelas colunas, conforme leciona Kuerten (2001). Uma forma de ser obter a multiplicação matricial na linguagem Python, usando apenas comandos nativos, é a partir da interação de comandos for com as matrizes. Veja na Figura 9 uma forma de determinar o produto matricial entre duas matrizes. Esse produto matricial pode ser usado para fins de criptografia de dados, de forma muito eficiente. Operações e métodos de matrizes (Python)10 Figura 9. Exemplo de multiplicação matricial. Análise estatística de dados Uma aplicação típica das matrizes consiste na análise de dados estatísticos. Qualquer experimento científico produz dados, que devem ser posterior- mente analisados. Várias métricas estatísticas devem ser levantadas, para ser possível a comparação universal dos dados. Modelar os dados a serem analisados na forma de matrizes permite que sejam implementados algorit- mos simples, porém, capazes de produzir uma análise robusta e confiável. Nesse cenário, geralmente se determina que cada linha da matriz seja uma amostra, e cada coluna, uma informação de interesse. Assim, é possível, por exemplo, determinar a média dos dados com uma simples interação com o comando for. BANIN, S. L. Python 3: conceitos e aplicações: uma abordagem didática. São Paulo: Érica, 2018, 264 p. KUERTEN, C. Algumas aplicações de matrizes. Orientadora: Joana Benedita de Oliveira Quandt. 2001. 68 f. Trabalho de Conclusão de Curso (Licenciatura em Matemática) — Departamento de Matemática, Centro de Ciências Físicas e Matemáticas, Universidade Federal de Santa Catarina, Florianópolis, 2001. Disponível em: https://repositorio.ufsc. br/handle/123456789/96804. Acesso em: 22 jun. 2019. 11Operações e métodos de matrizes (Python) PERKOVIC, L. Introdução à computação usando Python: um foco no desenvolvimento de aplicações. Rio de Janeiro: LTC, 2016. 516 p. PYTHON SOFTWARE FOUNDATION. Built-in Types. In: PYTHON SOFTWARE FOUNDA- TION. Documentation – The Python Standard Library. Wilmington, 2019. Disponível em: https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range. Acesso em: 22 jun. 2019. Leituras recomendadas BARRY, P. Use a cabeça! Python. 2. ed. Rio de Janeiro: Alta Books, 2018. 616 p. (Série Use a Cabeça/Head First). FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson Prentice Hall, 2005. 218 p. Operações e métodos de matrizes (Python)12 Dica do Professor Fazer uma análise estatística de dados é uma tarefa simples, porém quanto mais informações estiverem disponíveis, mais complexo fica o trabalho de manipular esses dados. A linguagem Python apresenta, por meio das listas e das matrizes, uma forma simples e muito poderosa de trabalhar com esses dados. Análises mais simples, como, por exemplo, obter o valor médio de uma amostra, obter o desvio padrão, ou mesmo o erro padrão, são tarefas triviais nesse contexto. Veja, nesta Dica do Professor, como fazer uma análise estatística básica, de dados obtidos de um experimento científico qualquer, por meio das matrizes de dados e seus operadores e funções. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Exercícios 1) Pedro estava fazendo um algoritmo em Python para calcular uma folha de pagamento. Para isto, ele resolveu cadastrar todos os dados em uma matriz, em que cada linha representa os dados de cada funcionário da empresa. As colunas dessa matriz representam o salário bruto, os descontos devido ao adiantamento salarial, e o desconto de previdência social. Ao montar o código que faria o processamento, ele usou o comando for para fazer o cálculo de todos os funcionários. Dentro deste processamento, ele sentiu a necessidade de acrescentar uma nova coluna na matriz para incluir o valor total de recebimentos, o valor total de descontos a aplicar e o valor líquido a ser pago ao funcionário. Além disso, ele percebeu que ficou faltando incluir antes da coluna de desconto da previdência social a coluna com o desconto de imposto de renda. Para incluir essas colunas, a estratégia a ser empregada deve ser: A) Usar o comado insert para acrescentar a coluna de desconto do imposto de renda e o comando append para inserir as colunas que faltam no final da tabela durante o processamento do comando for. B) Usar o comando append para inserir todas as colunas que ficaram faltando, porém antes de executar o processamento com o comando for. C) Usar o comando insert para inserir as colunas de valor total de recebimento e valor total de descontos no final da matriz, junto do comando for. E o comando pop para acrescentar a coluna de descontos de imposto de renda. D) Usar o comando pop para incluir todas as colunas faltantes. Esse comando deverá ser executado dentro do comando for, porque a estrutura da matriz está organizada de forma que cada linha representa os dados de um único funcionário. E) Usar o comando append para incluir as colunas que ficaram faltando. Para a coluna de deduções do imposto de renda, deverá ser usado esse mesmo comando, porém especificando ainda qual é o índice em que a coluna deverá ser adicionada. 2) Considere que uma matriz for iniciada usando o comando A = [ [ 14, 87, 98 ], [ 2, 12, 0 ], [ 3, 14, 99 ] ]. Ao tentar remover a terceira coluna, João usou o comando: del(A[3]). Este comando logo resultou em um erro. Este erro foi devido: A) Ao comando del() não suportar apagar matrizes com operador colchete. B) Ao comando del() não suportar nenhum parâmetro. C) Ao comando del() servir para apagar a matriz inteira e não apenas uma linha. D) À matriz A não possuir uma linha com índice 3. E) À matriz A não possuir uma coluna com índice 3. 3) Uma matriz foi iniciada a partir de um arquivo de dados em formato separado por vírgulas (CSV), contendo um total de 100 linhas com 25 colunas em cada linha. Após carregado na linguagem Python, é possível acrescentar uma coluna entre a 10a e a 11a coluna? Como deve ser feito esse procedimento? A) Sim, basta usar o comando insert(10, novaColuna). B) Sim, basta usar o comando insert(11, novaColuna). C) Sim, basta usar o comando append(11, novaColuna). D) Não é possível inserir essa coluna, porque a linguagem não dispõe de nenhum comando apto paratal. E) Como os dados estão em um arquivo separado, não é possível mudar a estrutura da matriz 4) Se for dada uma matriz M com 5 linhas e 5 colunas, para transformá-la em uma matriz 4 x 4, excluindo a primeira linha e a última coluna, deve-se usar os comandos: A) del(M[4]) del(M[0]) B) M.pop(0) M.remove(4) C) del(M[0]) for linha in M: linha.pop(4) D) del(M[0]) for coluna in M: coluna.remove() E) M.remove(0) for linha in M: linha.pop(4) 5) Analise o seguinte trecho de um algoritmo: O resultado esperado no comando print é: A) 2. B) 98. C) -10. D) [ ]. E) erro. Na prática Operações matriciais são vastamente empregadas nos mais diversos campos do conhecimento. As matrizes são tão importantes que na linguagem Python existem várias bibliotecas que facilitam o trabalho com elas. A biblioteca NumPy é, talvez, o exemplo mais famoso nesse contexto. Essencialmente, o NumPy é uma biblioteca para processamento numérico usando a linguagem Python. Ela contém várias funções, incluindo várias para trabalhar com matrizes numéricas. As matrizes da biblioteca NumPy são muito semelhantes às matrizes nativas da linguagem Python, porém elas contêm mais recursos. Veja, Na Prática, como usar algumas operações matriciais básicas usando a biblioteca NumPy. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Saiba mais Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Matrizes Veja, a partir deste vídeo, uma série de aulas do professor Fábio Kon, explicando de forma didática e clara como trabalhar com matrizes na linguagem Python. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Referência de comandos da biblioteca NumPy A biblioteca NumPy é uma biblioteca muito poderosa com comandos bem específicos e otimizados para trabalhar com matrizes. Neste link, você irá encontrar o manual oficial dessa biblioteca, bem como a referência completa de todos os comandos disponíveis. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Referência de comandos nativos da linguagem Python Neste link, você terá acesso à especificação oficial da linguagem Python, com detalhes e exemplos de utilização. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Exercício resolvido – multiplicação de matrizes Nesta videoaula, você irá aprender de forma clara como operar uma multiplicação matricial manualmente e usando a linguagem Python. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.