Básico de Python I

Linguagem de Programação Python

1 Introdução

A ideia de um ser humano, enquanto for apenas um pensamento, é algo amorfo, que existe por si mesma, não necessitando de nada, além de si, para descrevê-la. Entretanto para compartilhá-la com outras pessoas precisamos descrever esta ideia com palavras e frases,transformando este pensamento em uma linguagem natural humana.

Computadores e outros dispositivos eletrônicos programáveis ​​têm seus próprios modo de pensar ", ou seja, o código binário. As máquinas seguem instruções específicas energizando (ou não) certas partes em seus componentes.Então, para transmitir uma ideia a uma máquina, tenho que me comunicar em zeros e uns?A resposta a esta pergunta é um sim e um não. "Sim, porque, de fato, a ideiaque serão recebidos pela máquina serão descritos como uma sequência de zeros e uns. Ele não refere-se a dizer que, embora seja possível traduzir sua ideia para uma linguagem natural máquina (binária), esse não é o processo mais comum. Programar diretamente nobinário é muito complexo para os seres humanos porque a forma básica de expressão do ser humano são palavras e não sequências numéricas.

Para contornar este problema foram criadas as linguagens de programação, que são pontes entre a linguagem natural humana e a linguagem da máquina (binária), mesclando conceitos das linguagens de máquina e natural humana. As linguagens de programação são classificadas em vários níveis de acordo com sua proximidade com a linguagem humana.

Linguagens de baixo nível têm a função de descrever uma situação mais próxima da ponto de vista da máquina, enquanto os idiomas de alto nível são projetados comO objetivo de facilitar a tradução de um pensamento (algoritmo), semelhante ilusório para a linguagem humana que seria necessário para descrever essa ideia.
 

Características básicas do Python

Python é uma linguagem de programação interpretada, de código-fonte aberto e disponível para vários sistemas operacionais. Ser uma linguagem interpretada significa dizer que ao se escrever um programa, este não será compilado (traduzido para uma linguagem de máquina), mas sim "lido" por um outro programa (chamado de interpretador) que traduzirá para a máquina o que seu programa quer dizer.

O intérprete para Python é interativo, ou seja, é possível executá-lo sem fornecer um script (programa) para ele. Em vez disso, o intérprete fornecerá uma interface interativa na qual você pode inserir os comandos desejados, um por um, e ver o efeito de cada um deles Neste tutorial, você encontrará a representação >>> antes da maioria dos comandos apresentados, o que significa que esse comando está sendo inserido no Intérprete interativo (e sempre abaixo, o resultado gerado).

Obtendo o Python e instalando

Se o usuário estiver utilizando um sistema Linux ou OS X (Apple) o interpretador para Python já vem instalado por padrão,sendo apenas necessário escrever o comando "python" no seu programa de terminal de preferência.Para usuários de Windows, o interpretador para Python deve ser instalado, e você pode estar fazendo o download no site da empresa.

Variáveis

Variáveis são as formas de se armazenar os dados para um próximo uso.Estas podem ser classificadas em 3 tipos básicos (existem alguns outros,que irão ser abordados mais para a frente).

  • int - Um número inteiro
  • float - Um ponto flutuante
  • string - Uma sequência de caracteres

Ao contrário da maioria das outras linguagens, no Python, você não precisa declarar as variáveis ​​a serem usadas, nem definir seu tipo. A própria sintaxe de dados sendo armazenado identifica o tipo de variável para armazená-lo.Por exemplo, caso deseje atribuir o valor 3 à variável A, basta digitar A=3. Python saberá que A é um inteiro(tipo int"). Por outro lado, se o valor a ser armazenado fosse 3,2 que é um dado do tipo ponto utuante, este deveria ser expresso como A=3.2. Observe que, para Python, A=3 e B=3.0 são variáveis de tipos diferentes e isto deve ser levado em conta ao se realizar certos tipos de manipulações de dados.

Strings

String é um modelo de objeto formado por uma sequência imutável de caracteres que nos permite trabalhar com textos.Exemplo:

>>> a = "Bom Dia"
>>> print a
Bom Dia

Percebemos que eles estão entre aspas, podemos usar as aspas duplas como as simples. Se usarmos aspas duplas, como mostrado no exemplo anterior, podemos usar aspas simples para aplicativos dentro do texto que estamos escrevendo, o oposto também é verdade.

Exemplo:

>>> b = 'O lema do governo JK era: Cinquenta anos em cinco.'
>>> print b
O lema do governo JK era:
"Cinquenta anos em cinco."

No exemplo acima usamos um outro artifício para trabalharmos com strings, o .Por sua vez, tem a função de pular uma linha e escrever o texto, que está após o n, nesta nova linha. Isso é tão verdadeiro que, no mesmo exemplo, quando usamos o comando print é mostrada a parte do texto que diz: Cinquenta anos em cinco., impresso na linha seguinte.

Outro artifício parecido com , é o que tem o objetivo de acrescentar ao texto que vem após, um espaço de tabulação.Há também outra aplicação para as aspas, que consiste na delimitação do texto por três aspas (duplas ou simples).Exemplo:

>>> a = "' Quatro times do Rio de Janeiro:
Botafogo
Vasco
Fluminense
Flamengo"'
>>> print a
Quatro times do Rio de Janeiro:
Botafogo
Vasco
Fluminense
Flamengo

Nessa aplicação para as aspas, quando usamos o comando print, tudo o que estiver entre as três aspas será impresso exatamente da mesma forma como foi escrito.

2 Manipulando Strings

Como uma string é imutável, isso nos permite manipular essa string, considere o seguinte exemplo:

>>> a = 'matemática'
>>> a[2]+a[-5]+a[-4:]
'tática'

Isso nos mostra que uma string segue uma determinada indexação onde cada caractere assume um endereço que, pode ser acessado colocando o nome da variável, que contém a string, e após, entre os colchetes, o endereço da célula que contém o caractere desejado. Existe também um recurso conhecido como operador %, que serve para formatar as strings, basicamente são três os tipos de formatação que temos:

%s - Serve para substituir string;
• %d - Serve para substituir números inteiros em uma frase destinada a um print;
• %f - Serve substituir oats (números em aritmética de ponto futuante).

Observação:

Os três formatos listados acima são geralmente para aplicativos de uma frase destinado a uma impressão.

Exemplo:
>>> compra= 'maçã'
>>> tipo='verde'

>>> quilos = 1,5
>>> print 'Maria comprou %f quilos de %s %s .' %(quilos,compra,tipo)
Maria comprou 1,5 quilos de maça verde.

Observação:

Com vimos acima o operador % pode ser utilizado para formatação de números também. Com ele é possível também determinar a quantidade de números, após a vírgula de um float.
Exemplo:
>>> num=245.47876749
>>> print '%.2f' %(num)
245.48

Percebemos que o Python estava se aproximando do número real, permitindo o resultado de uma operação futura é o mais preciso possível.

Operações matemáticas

Além de ser uma poderosa linguagem de programação, Python sabe lidar bem com matemática. Suas capacidades matemáticas se extendem desde operações básicas até operações com números complexos.Abaixo, vamos começar aprendendo as 4 operações matemáticas básicas. Lembre-se que ">>>" significa a digitação de um comando no interpretador.

Na divisão, pode-se optar por resultados como números inteiros (ou o inteiro mais próximo) ou resultado exato (um ponto flutuante). Para isso, deve-se fornecer um inteiro (para se obter um inteiro como resultado) ou um ponto utuante (para se obter o resultado exato).

Divisão:
>>>2.0/3.0
0.66666666666666663

A operação aritimética de potenciação também pode ser feita, assim como a sua inversa, a radiciação.

Potenciação:
>>> 2**3

Não existe um comando específico para a radiciação em Python (exceto para a raiz quadrada). Entretanto, para obter a raiz n-ésima de um número basta elevá-lo por 1/n onde n é o índice da raiz. As regras para a obtenção de números inteiros ou pontos flutuante também se aplicam a este caso.

Radiciação:
>>>8**(1.0/3.0)
2.0
8

3 Entrada de Dados

Através do comando raw_input podemos receber do usuário uma string. O tamanho da string pode ser conhecido pelo comando len().

>>> nome = raw_input('Digite seu nome: ')
Digite seu nome: Pedro
>>> nome
'Pedro'
>>> len(nome)
5
>>> sobrenome = raw_input('Agora digite o sobrenome: ')
Agora digite o sobrenome: Albuquerque

Operações matemáticas não podem ser feitas com strings, apenas com floats e inteiros, porém se somarmos strings, Python as juntará, num processo chamado concatenação e se multiplicarmos uma string ela será repetida.

>>> nome + sobrenome
'PedroAlbuquerque'
>>>nome*3
'PedroPedroPedro

Se a priori sabemos que os dados que o usuário digitará não serão uma string, podemos usar o comando input () como entrada de dados:

>>> idade = input('Digite sua idade: ')
Digite sua idade: 27
>>> altura = input('Qual a sua altura: ')
Qual a sua altura: 1.75
>>> type(idade)
<type 'int'>
>>> type(altura)
<type 'float'>

O dado que é inserido pelo usuário já é dinamicamente tipado.Para sabermos qual o tipo da variável atribuída,basta digitar o comando type() que ele irá devolver a variável referente ao objeto entre os parênteses.

Estruturas de controle

Os comandos Python são executados pelo computador, linha por linha e estruturas de controle permitem ao programador modicar a ordem em que cada comando será executado bem como se ele será ou não executado.

While

Começaremos com uma estrutura repetida. O loop while tem a função de repetir bloco de comando, até que uma determinada condição não seja mais atendida. Para que o bloco seja executado no momento certo, devemos manter um recuo rígido, ou seja, tudo o que pertence ao bloco while, deve estar um espaço à frente; ajuda a tornar o código legível e organizado.

>>> while #condição for verdadeira :
... #bloco de comandos pertencentes ao while
#continuação do programa

Exemplo de como calcular um número fatorial:

>>> resultado = 1
>>> num_org = input('Entre com um número inteiro: ')
>>> Entre com um número inteiro: 6
>>> num = num_org
>>> while num > 1:
... resultado = resultado * num
... num = num - 1
...
>>> print 'O número ', num_org, '! é: ',resultado
>>> O número 6! é: 720

Se a condição estabelecida no while for sempre verdadeira, como 2 < 1, o seu loop será infinito, pois a condição será sempre atendida. Caso esse seja seu desejo, pode-se usar também o comando while 1 em vez de estabelecer uma condição qualquer.

If

Outra estrutura que iremos estudar é condicional. O comando if direciona o computador tomar uma decisão, dependendo das condições determinadas. Se a condição for atendida, um bloco de comando será executado; caso contrário, o computador executará outros comandos.

>>>if #condição1 for verdadeira:
... #bloco de comandos 1
...elif #condição2 for verdadeira:
... #bloco de comandos 2
...else:
... #bloco de comandos 3

Nessa estrutura podemos utilizar quantas condições forem necessárias, para isso, basta repertimos o elif seguido das condições desejadas. Tendo isso em vista, vejamos um programa de adivinhação de um número:

>>>num = 23
>>>adv = 0
>>>while adv != num:
... adv = input('Insira um número: ')
... if adv < num:
... print 'É maior!'
... elif adv > num:
... print 'É menor!'
... else:
... print 'Você acertou!'
...
>>>Insira um número:

Como vimos, em Python não é necessário usar a tag final para finalizar uma estrutura. Isto é devido à identificação do programa. No Python, uma estrutura é termina automaticamente quando o próximo rótulo de linha começa no início da linha.

4 Comando For

O comando for no Python difere do que normalmente é visto em outras linguagens de programação. programação, em que este comando se destina a executar uma iteração com base em um
progressão aritmética, percorrendo números definidos pelo usuário, enquanto em Python a iteração é feita rolando pelos elementos em uma sequência, seja uma lista ou até mesmo uma corda. Vamos analisar o código abaixo:

>>> for contador in range(1, 11):
... print contador

A estrutura acima utiliza uma variável criada, no caso contador, para percorrer cada elemento da lista criada com o comando range(1,11), com isso, cada repetição feita pelo loop for fará com que a variável contador aponte para um diferente valor dentro da lista formada pela função range e logo em seguida imprima esse valor.

A saída que teríamos neste caso seria:

1
2
3
4
5
6
7
8
9
10

Ou seja, um "print" com todos os elementos da lista.

A função for também pode ser aplicada com o uso de strings, observemos o caso abaixo:

>>> lista = ['vida', 42, 'o universo', 6, 'e', 7, 'tudo']
>>> for item in lista:
... print 'O item atual é:',print

E obteríamos como saída:

O item atual é: vida
O item atual é: 42
O item atual é: o universo
O item atual é: 6
O item atual é: e
O item atual é: 7
O item atual é: tudo

5 Funções

As linguagens de programação em geral têm como objetivo automatizar ações, tornando-as mais rápidas.
Se houver uma ação grande e usada com frequência, temos a opção criar uma função que atenda ao seu objetivo, reduzindo o espaço ocupado por nossos programa final, além de deixá-lo com uma aparência mais limpa, já que o tamanho
do código diminuirá. Essas funções também são muito úteis na depuração do seu código, já que você não precisará procurar o código do erro, basta digitar o trabalhe e mude. Um exemplo de como podemos encurtar um código é descrito abaixo.

Se em um determinado problema, precisarmos descobrir se dois valores absolutos são iguais podemos utilizar o código 1, descrito abaixo, todas as vezes que precisarmos realizar essa descoberta, ou simplesmente podemos usar o código 2 criando uma função que cumpra esse objetivo exigindo apenas que apresentemos os valores que devemos analisar.

Dado que temos os valores:

a = 23 b = -23

Função 1:
>>> if a < 0:
... a = -a
>>> if b < 0:
... b = -b
>>> if a == b:
... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais'
... else:
... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais'

Função 2:

>>>def compara_absolutos(a,b):
... " Essa função retorna se os valores absolutos das variáveis requeridas são iguais
... if a < 0:
... a = -a
... if b < 0:
... b = -b
... if a == b:
... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais'
... else:
... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais'
...

Abaixo apresentamos a sintaxe necessária para criação de funções utilizando a linguagem Python.

>>>def funcao(variavel1,variavel2,...,variavelN):
... bloco de comandos
... return

É que ao chamar uma função, podemos passar a esta alguns parâmetros (valores ou strings): funcao(1234,"pet-tele","UFF-1234"), porém em algumas funções ao colocarmos nosso código na seção bloco de comandos, a função automaticamente definirá os parâmetros necessários. Por exemplo, se houver uma função que faça cálculos matemáticos, devolvendo um resultado numérico, será necessário que todas as variáveis chamadas pela função sejam inteiros ou floats.