Python uma linguagem de programao de alto nvel, interpretada, imperativa, orientada a objetos, de tipagem dinmica e forte. Foi lanada por Guido van Rossum em 1991. A linguagem foi projetada com a filosofia de enfatizar a importncia do esforo do programador sobre o esforo computacional. Prioriza a legibilidade do cdigo sobre a velocidade ou expressividade. Combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padro e por mdulos e frameworks desenvolvidos por terceiros. O interpretador interativo uma caracterstica diferencial da linguagem, porque h a possibilidade de testar o cdigo de um programa e receber o resultado em tempo real, antes de iniciar a compilao ou inclu-las nos programas. A forma interativa de executar o Python conveniente; no entanto, no armazena o cdigo digitado, servindo apenas para testes e procedimentos simples. Para programas mais complexos, o cdigo-fonte normalmente escrito e armazenado em um arquivo. O que a funo help() faz apenas exibir para voc a docstring do objeto passado como argumento. Python tem um recurso chamado Documentation strings que normalmente refenciado pela abreviatura docstring. Docstring uma importante ferramentamenta que voc deve usar uma vez que ela ajuda a documentar melhor seu programa tornado-o mais fcil de ser entendido.
Toda linguagem de programao possui instrues que controlam o fluxo de execuo; em Python, h um conjunto pequeno e poderoso de instrues, condicionais, laos iterativos e excees A instruo condicional bsica de Python o if. H apenas dois tipos de laos em Python: for e while. O primeiro tipo, mais freqentemente utilizado, percorre uma seqncia em ordem, a cada ciclo substituindo a varivel especificada por um dos elementos. O segundo tipo de lao, while, utilizado quando necessitamos fazer um teste a cada iterao do lao. Com os dois tipos de laos descritos na seo anterior, todas as necessidades `normais' de controle de um programa podem ser implementadas. No entanto, quando algo inesperado ocorre, ou uma condio de erro conhecido atingida, Python oferece uma forma adicional de controlar o fluxo de execuo: a exceo. A exceo um recurso de linguagens de programao modernas que serve para informar que uma condio incomum ocorreu. Embora existam outras aplicaes, em geral comunicam-se atravs de excees erros ou problemas que ocorrem durante a execuo de um programa.
Dentro de Python, cada arquivo contendo cdigo denominado mdulo. Na grande maioria das ocasies utilizamos um ou mais mdulos Python em combinao: o interpretador interativo adequado para realizar experimentos curtos, mas no para escrever cdigo de produo. Um mdulo Python consiste de cdigo-fonte contido em um arquivo denominado com a extenso .py; como tal, pode conter variveis, funes e classes; para fins de nomenclatura, qualquer um destes elementos contidos em um mdulo considerado umatributo do mdulo. Python, atravs do mdulo, oferece excelentes mecanismos para modularizar cdigo-fonte. Esta modularizao pode ter diversas motivaes: o programa pode ser grande demais, ter sub-partes reusveis que devem ser separadas, ou ainda necessitar de mdulos escritos por terceiros. Esta seo introduz este conceito atravs do comando import. Alguns exemplos de bibliotecas, ou mdulos so o Scipy, MatPlot e Sympy. O Scipy, oferece a possibilidade de trabalhar com matrizes e eficientes rotinas numricas tais como rotinas para integrao numrica e otimizao. Com o MatPlot voc pode gerar grficos, histogramas, espectros de potncia, grficos de barras, grficos de disperso e outros. E o Sypy uma biblioteca para matemtica simblica que pode ser usada para clculo, lgebra linear, matrizes, geometria analtica, polinmios funes e etc.