ÚLTIMOS POSTS

quarta-feira, 17 de junho de 2015

Falando sobre Python -Parte 8 - Operadores e operandos, Operações com Strings






Operadores e operandos


Operadores são símbolos especiais que representam computações como adição e multiplicação. Os valores que o operador usa são chamados operandos.

Todas as expressões seguintes são válidas em Python e seus significados são mais ou menos claros:

20+32   hora-1   hora*60+minuto   minuto/60   5**2  (5+9)*(15-7)

Em Python, os símbolos +, -, / e o uso de parênteses para agrupamento têm o mesmo significado que em matemática. O asterisco (*) é o símbolo para multiplicação e ** é o símbolo para potenciação.

Quando um nome de variável aparece no lugar de um operando, ele é substituído pelo valor da variável, antes da operação ser executada.

Adição, subtração, multiplicação e potenciação fazem o que se espera, mas você pode ficar surpreso com a divisão. A operação seguinte tem um resultado inesperado:

>>> minuto = 59
>>> minuto/60
0
O valor de minuto é 59 e, em aritmética convencional, 59 dividido por 60 é 0,98333, não 0. A razão para a discrepância é que Python está realizando uma divisão inteira.

Quando ambos os operandos são inteiros, o resultado tem de ser também um inteiro e, por convenção, a divisão inteira sempre arredonda para baixo, mesmo em casos como este, em que o inteiro seguinte está muito próximo:

>>> minuto*100/60
98
De novo, o resultado é arredondado para baixo, mas agora pelo menos a resposta é aproximadamente correta. A alternativa é usar a divisão em ponto flutuante, o que veremos no capítulo 3.

Ordem dos operadores


Quando mais de um operador aparece em uma expressão, a ordem de avaliação depende das regras de precedência. Python segue as mesmas regras de precedência para seus operadores matemáticos que a matemática. O acrônimo PEMDAS é uma maneira prática de lembrar a ordem das operações:

P: Parênteses têm a mais alta precedência e podem ser usados para forçar uma expressão a ser avaliada na ordem que você quiser. Já que expressões entre parênteses são avaliadas primeiro, 2 * (3-1) é 4, e (1+1)**(5-2) é 8. Você também pode usar parênteses para tornar uma expressão mais fácil de ler, como em (minuto * 100) / 60, ainda que isso não altere o resultado.
E: Exponenciação ou potenciação tem a próxima precedência mais alta, assim 2**1+1 é 3 e não 4, e 3*1**3 é 3 e não 27.

MDAS: Multiplicação e Divisão têm a mesma precedência, que é mais alta do que a da Adição e da Subtração, que também têm a mesma precedência. Assim 2*3-1 dá 5 em vez de 4, e 2/3-1 é -1, não 1 (lembre-se de que na divisão inteira, 2/3=0).
Operadores com a mesma precedência são avaliados da esquerda para a direita. Assim, na expressão minuto*100/60, a multiplicação acontece primeiro, resultando em 5900/60, o que se transforma produzindo 98. Se as operações tivessem sido avaliadas da direita para a esquerda, o resultado poderia ter sido 59*1, que é 59, que está errado.


 Operações com strings
De maneira geral, você não pode executar operações matemáticas em strings, ainda que as strings se pareçam com números. O que segue é inválido (assumindo que mensagem é do tipo string):

mensagem-1   "Alô"/123   mensagem*"Alô"   "15"+2
Interessante é o operador +, que funciona com strings, embora ele não faça exatamente o que você poderia esperar. Para strings, o operador + representa concatenação, que significa juntar os dois operandos ligando-os pelos extremos. Por exemplo:

fruta = "banana"
assada = " com canela"
print fruta + assada
A saída deste programa é banana com canela. O espaço antes da palavra com é parte da string e é necessário para produzir o espaço entre as strings concatenadas.

O operador * também funciona com strings; ele realiza repetição. Por exemplo, "Legal"*3 é "LegalLegaLegal". Um dos operadores tem que ser uma string; o outro tem que ser um inteiro.

Por um lado, esta interpretação de + e * faz sentido pela analogia entre adição e multiplicação. Assim como 4*3 equivale a 4+4+4, não é de estranhar que "Legal"*3 seja o mesmo que "Legal"+"Legal"+"Legal". Por outro lado, uma diferença significativa separa concatenação e repetição de adição e multiplicação. Você saberia mencionar uma propriedade da adição e da multiplicação que não ocorre na concatenação e na repetição?
Mais informações »

quinta-feira, 28 de maio de 2015

Falando sobre Python Parte 7- Nome de Variáveis, palavras reservadas e avaliando Expressões.





Ola  amigos inciantes e Pythonista ! Seguindo falando sobre Python daremos continuidade,
hoje sera abordado  Nome de Variáveis, palavras reservadas e avaliando Expressões.
Bons estudos!


Nomes de variáveis e palavras reservadas

Os programadores geralmente escolhem nomes significativos para suas variáveis, pois os nomes documentam para o que a variável é usada.

Nomes de variáveis podem ser arbitrariamente longos. Eles podem conter tanto letras quanto números, mas têm de começar com uma letra. Embora seja válida a utilização de letras maiúsculas, por convenção, não usamos. Se você o fizer, lembre-se de que maiúsculas e minúsculas são diferentes. Bruno e bruno são variáveis diferentes.

O caractere para sublinhado ( _ ) pode aparecer em um nome. Ele é muito utilizado em nomes com múltiplas palavras, tal como em meu_nome ou preco_do_cha_na_china.

Se você der a uma variável um nome inválido, causará um erro de sintaxe:

>>> 76trombones = "grande parada"
SyntaxError: invalid syntax
>>> muito$ = 1000000
SyntaxError: invalid syntax
>>> class = "Ciencias da Computacao 101"
SyntaxError: invalid syntax
76trombones é inválida por não começar com uma letra. muito$ é inválida por conter um caractere ilegal, o cifrão. Mas o que está errado com class?

Ocorre que class é uma das palavras reservadas em Python. Palavras reservadas definem as regras e a estrutura da linguagem e não podem ser usadas como nomes de variáveis.

Python tem 29 palavras reservadas:

and    -   def    -   exec   -   if     -   not  -     return
assert  -  del    -   finally  - import -   or   -     try
break   -  elif    -  for   -    in   -     pass   -   while
class   -  else    -  from   -   is     -   print   -  yield
continue  except    global    lambda    raise

Pode ser útil ter essa lista à mão [2]. Se o interpretador acusar erro sobre um de seus nomes de variável e você não souber o porquê, veja se o nome está na lista.

[2]
N.T.: esta lista pode ser obtida através do próprio interpretador Python, com apenas dois comandos:

import keyword
print keyword.kwlist
2.4 Comandos
Um comando é uma instrução que o interpretador Python pode executar. Vimos até agora dois tipos de comandos: de exibição (print) e de atribuição.

Quando você digita um comando na linha de comando, o Python o executa e mostra o resultado, se houver um. O resultado de um comando print é a exibição de um valor. Comandos de atribuição não produzem um resultado visível.

Um script normalmente contém uma sequência de comandos. Se houver mais de um comando, os resultados aparecerão um de cada vez, conforme cada comando seja executado.

Por exemplo, o “script”:

print 1
x = 2
print 2
produz a saída:



 Avaliando expressões

Uma expressão é uma combinação de valores, variáveis e operadores. Se você digitar uma expressão na linha de comando, o interpretador avalia e exibe o resultado:

>>> 1 + 1
2
Embora expressões contenham valores, variáveis e operadores, nem toda expressão contém todos estes elementos. Um valor por si só é considerado uma expressão, do mesmo modo que uma variável:

>>> 17
17
>>> x
2
Avaliar uma expressão não é exatamente a mesma coisa que imprimir um valor:

>>> mensagem = "E aí, Doutor?"
>>> mensagem
'E aí, Doutor?'
>>> print mensagem
E aí, Doutor?
Quando Python exibe o valor de uma expressão, usa o mesmo formato que você usaria para entrar com o valor. No caso de strings, isso significa que as aspas são incluídas [3]. Mas o comando print imprime o valor da expressão, que, neste caso, é o conteúdo da string.

[3] N.T.: Python aceita aspas simples ou duplas para delimitar strings.
Num script, uma expressão sozinha é um comando válido, porém sem efeito. O script:

17
3.2
"Alô, Mundo!"
1 + 1
não produz qualquer saída. Como você mudaria o “script” para exibir os valores destas quatro expressões?


Mais informações »

quinta-feira, 21 de maio de 2015

Falando sobre Python- Parte 6 - Valores , tipos e variáveis




Ola  amigos inciantes e Pythonista  seguindo falando sobre Python daremos continuidade,
hoje sera abordado valores ,tipos e variáveis .
Bons estudos!


Valores e tipos
O valor (por exemplo, letras e números) é uma das coisas fundamentais que um programa manipula. Os valores que já vimos até agora foram o 2 (como resultado, quando adicionamos 1 + 1) e "Alô, Mundo!".

Esses valores pertencem a tipos diferentes: 2 é um inteiro, e "Alô, Mundo!" é uma string, assim chamada porque “string”, em inglês, quer dizer sequência, série, cadeia (de caracteres), ou neste caso, “série de letras”. Você (e o interpretador) consegue identificar strings porque elas aparecem entre aspas.

O comando print também funciona com inteiros:

>>> print 4
4
Se você estiver em dúvida sobre qual é o tipo de um determinado valor, o interpretador pode revelar:

>>> type("Alô, Mundo!")
<type 'string'>
>>> type(17)
<type 'int'>
Nenhuma surpresa: strings pertencem ao tipo string e inteiros pertencem ao tipo int. Menos obviamente, números com um ponto decimal pertencem a um tipo chamado float, porque estes números são representados em um formato chamado ponto flutuante [1]:

>>> type(3.2)
<type 'float'>
[1] N.T.: Observe o uso de ponto no lugar da vírgula para separar a parte inteira da parte fracionária.
O que dizer de valores como "17" e "3.2"? Eles parecem números, mas estão entre aspas, como strings:

>>> type("17")
<type 'string'>
>>> type("3.2")
<type 'string'>
Eles são strings.

Ao digitar um número grande, é tentador usar pontos entre grupos de três dígitos, assim: 1.000.000. Isso não funciona por que Python usa o ponto como separador decimal. Usar a vírgula, como se faz em inglês, resulta numa expressão válida, mas não no número que queríamos representar:

>>> print 1,000,000
1 0 0
Não é nada do que se esperava! Python interpreta 1,000,000 como uma tupla, algo que veremos no Capítulo 9. Por hora, lembre-se apenas de não colocar vírgulas nos números.

 Variáveis
Uma das características mais poderosas de uma linguagem de programação é a habilidade de manipular variáveis. Uma variável é um nome que se refere a um valor.

O comando de atribuição cria novas variáveis e dá a elas valores:

>>> mensagem = "E aí, Doutor?"
>>> n = 17
>>> pi = 3.14159
Este exemplo faz três atribuições. A primeira atribui a string "E aí, Doutor?" a uma nova variável chamada mensagem. A segunda dá o valor inteiro 17 a n, e a terceira atribui o número de ponto flutuante 3.14159 à variável chamada pi.

Uma maneira comum de representar variáveis no papel é escrever o nome delas com uma seta apontando para o valor da variável. Esse tipo de figura é chamado de diagrama de estado porque mostra em que estado cada variável está (pense nisso como o estado de espírito da variável). O diagrama a seguir mostra o resultado das instruções de atribuição:


O comando print também funciona com variáveis:

>>> print mensagem
E aí, Doutor?
>>> print n
17
>>> print pi
3.14159
Em cada um dos casos, o resultado é o valor da variável. Variáveis também têm tipo. Novamente, podemos perguntar ao interpretador quais são eles:

>>> type(mensagem)
<type 'string'>
>>> type(n)
<type 'int'>
>>> type(pi)
<type 'float'>
O tipo de uma variável é o tipo do valor ao qual ela se refere.

Continua ....
Mais informações »

quarta-feira, 13 de maio de 2015

Falando de Python parte 5 - Debugging







O que é depuração (debugging)?
Programar é um processo complicado e, como é feito por seres humanos, frequentemente conduz a erros. Por mero capricho, erros em programas são chamados de bugs e o processo de encontrá-los e corrigi-los é chamado de depuração (debugging).

Três tipos de erro podem acontecer em um programa: erros de sintaxe, erros em tempo de execução (runtime errors) e erros de semântica (também chamados de erros de lógica). Distinguir os três tipos ajuda a localizá-los mais rápido:

 Erros de sintaxe
O interpretador do Python só executa um programa se ele estiver sintaticamente correto; caso contrário, o processo falha e retorna uma mensagem de erro. Sintaxe se refere à estrutura de um programa e às regras sobre esta estrutura. Por exemplo, em português, uma frase deve começar com uma letra maiúscula e terminar com um ponto.

esta frase contém um erro de sintaxe. Assim como esta

Para a maioria dos leitores, uns errinhos de sintaxe não chegam a ser um problema significativo e é por isso que conseguimos ler a poesia moderna de e. e. cummings sem cuspir mensagens de erro. Python não é tão indulgente. Se o seu programa tiver um único erro de sintaxe em algum lugar, o interpretador Python vai exibir uma mensagem de erro e vai terminar - e o programa não vai rodar. Durante as primeiras semanas da sua carreira como programador, você provavelmente perderá um bocado de tempo procurando erros de sintaxe. Conforme for ganhando experiência, entretanto, cometerá menos erros e os localizará mais rápido.

Erros em tempo de execução (runtime errors)
O segundo tipo de erro é o erro de runtime, ou erro em tempo de execução, assim chamado porque só aparece quando você roda o programa. Esses erros são também conhecidos como exceções, porque normalmente indicam que alguma coisa excepcional (e ruim) aconteceu.

Erros de runtime são raros nos programas simples que você vai ver nos primeiros capítulos - então, vai demorar um pouco até você se deparar com um erro desse tipo.

 Erros de semântica (ou de lógica)
O terceiro tipo de erro é o erro de semântica (mais comumente chamado erro de lógica). Mesmo que o seu programa tenha um erro de semântica, ele vai rodar com sucesso, no sentido de que o computador não vai gerar nenhuma mensagem de erro. Só que o programa não vai fazer a coisa certa, vai fazer alguma outra coisa. Especificamente, aquilo que você tiver dito para ele fazer (o computador trabalha assim: seguindo ordens).

O problema é que o programa que você escreveu não é aquele que você queria escrever. O significado do programa (sua semântica ou lógica) está errado. Identificar erros semânticos pode ser complicado, porque requer que você trabalhe de trás para frente, olhando a saída do programa e tentando imaginar o que ele está fazendo.





Depuração experimental (debugging)
Uma das habilidades mais importantes que você vai adquirir é a de depurar. Embora possa ser frustrante, depurar é uma das partes intelectualmente mais ricas, desafiadoras e interessantes da programação.

De certa maneira, a depuração é como um trabalho de detetive. Você se depara com pistas, e tem que deduzir os processos e eventos que levaram aos resultados que aparecem.

Depurar também é como uma ciência experimental. Uma vez que você tem uma ideia do que está errado, você modifica o seu programa e tenta de novo. Se a sua hipótese estava correta, então você consegue prever o resultado da modificação e fica um passo mais perto de um programa que funciona. Se a sua hipótese estava errada, você tem que tentar uma nova. Como Sherlock Holmes mostrou: “Quando você tiver eliminado o impossível, aquilo que restou, ainda que improvável, deve ser a verdade.” (Arthur Conan Doyle, O signo dos quatro).

Para algumas pessoas, programação e depuração são a mesma coisa. Ou seja, programar é o processo de gradualmente depurar um programa, até que ele faça o que você quer. A ideia é começar com um programa que faça alguma coisa e ir fazendo pequenas modificações, depurando-as conforme avança, de modo que você tenha sempre um programa que funciona.

Por exemplo, o Linux é um sistema operacional que contém milhares de linhas de código, mas começou como um programa simples, que Linus Torvalds usou para explorar o chip Intel 80386. De acordo com Larry Greenfield, “Um dos primeiros projetos de Linus Torvalds foi um programa que deveria alternar entre imprimir AAAA e BBBB. Isso depois evoluiu até o Linux”. (The Linux User’s Guide Versão Beta 1)

Capítulos posteriores farão mais sugestões sobre depuração e outras práticas de programação.
Mais informações »

terça-feira, 5 de maio de 2015

Falando de Python Parte 4 - Dicionários na sequência de criação



Os dicionários em Python são estruturas muito poderosas e rápidas. Mas uma característica ruim deles é que a ordem das chaves não é garantida. Isso significa que ao criar um dicionário você pode ver algo assim:
>>> d = {'ac': 'Acre', 'ce': 'Ceará', 'pi': 'Piauí'}
>>> print(d)
{'ac': 'Acre', 'pi': 'Piauí', 'ce': 'Ceará'}
>>> 
Viu? Fora de ordem.

Isso atrapalha quando queremos manter a ordem dos itens, como, por exemplo, ao alimentar um HTML SELECT a partir de um dicionário. Se você usa Django, provavelmente já precisou fazer isso em um choices. Nesse caso, o normal é criarmos uma lista de tuplas e iterar nos itens, o que não é lá muito intuitivo.

Era. A partir do Python 2.7, você pode usar um OrderedDict (que está no módulo collections) e resolver este problema:
>>> from collections import OrderedDict
>>> d = OrderedDict([('ac', 'Acre'), ('ce', 'Ceará'),  
('pi', 'Piauí')])
>>> print(d)
OrderedDict([('ac', 'Acre'), ('ce', 'Ceará'), ('pi', 'Piauí')])
>>> 

Agora sim, com a ordem mantida.

Se você observar direitinho, informamos uma lista de tuplas, como eu disse que seria uma alternativa de solução. Então, qual a vantagem do OrderedDict?

Algumas facilidades:
>>> d['ac'] = 'Novo Acre'
>>> print(d)
OrderedDict([('ac', 'Novo Acre'), ('ce', 'Ceará'), ('pi', 'Piauí')])
>>>
>>> d['go'] = 'Goiás'
>>> print(d)
OrderedDict([('ac', 'Novo Acre'), ('ce', 'Ceará'), ('pi', 'Piauí'),  
('go', 'Goiás')])
>>>
>>> del d['ce']
>>> print(d)
OrderedDict([('ac', 'Novo Acre'), ('pi', 'Piauí'), ('go', 'Goiás')])
>>> 


No exemplo acima, foi possível indexarmos pela chave e modificar o conteúdo sem mudar a ordem das chaves. Também incluímos um item ao final do dicionário com facilidade, apenas com uma atribuição normal de dicionário. Outra coisa simples de fazer é excluir um item, bastando indexarmos pela chave do dicionário. Ou seja, é um dicionário.

Assim, o uso dos OrderedDict deixa o código mais intuitivo, já que a sintaxe de dicionários, e com a garantia de manter a sequência das chaves.
Mais informações »

sábado, 2 de maio de 2015

Falando de Python - Parte 3 - Porque Python?



Porquê Python Nossa meta não é mostrar como se programa em uma linguagem específica, mas sim como se programa de uma forma geral. Ou seja, a linguagem para nós será um veículo, e não o destino. Mesmo assim, pensamos bastante antes de escolher a linguagem Python para os exemplos desse tutorial. Centenas de linguagens já foram criadas desde que o computador eletrônico foi inventado nos anos 40.

 Algumas já são línguas mortas. Outras, como C++ e Java, são peças fundamentais no desenvolvimento da economia digital. No entanto, a complexidade dessas duas linguagens nos motivou a descartá-las, e focalizar o universo das chamadas linguagens de "scripting", que são mais simples e se prestam a um estilo de programação informal, mais sintonizado com um tutorial como esse. As três linguagens de scripting mais populares atualmente são JavaScript, VBScript e Perl. Todas são utilizadas na construção de web-sites dinâmicos. As duas primeiras praticamente não têm aplicação fora desse domínio, e por isso foram descartadas.

 É que, embora seja nosso objetivo abordar também esse tópico, achamos que é complexo demais para começar, especialmente devido à dificuldade de se diagnosticar erros de programação em páginas dinâmicas. E Perl é uma linguagem esquisita demais, criada para agradar programadores tarimbados e hackers, segundo seu próprio criador. Felizmente, bem perto de Perl no mapa das linguagens modernas existe uma outra, não tão conhecida, mas igualmente poderosa. Seu nome é uma homenagem ao grupo humorístico inglês Monty Python, adorado por geeks de todo o mundo. Apesar da associação cômica, Python vem sendo usada em projetos sérios por entidades como Yahoo, NASA, InfoSeek, MCI Worldcom, IBM e Hiway, a maior empresa de hospedagem de web-sites do mundo. É tambem a base do Zope, a mais sofisticada plataforma para construção de web-applications disponível hoje como open-source. 


Apesar de sua sintaxe simples e clara, Python oferece os seguintes recursos disponíveis também em linguagens mais complicadas como Java e C++: • programação orientada a objetos (incluindo herança múltipla, conceito apenas parcialmente presente em Java) • exceções, um moderno mecanismo para o tratamento de erros • módulos, uma forma inteligente de acessar e organizar código a ser reutilizado • coleta de lixo automática, sistema que elimina os erros causados pelo acúmulo de dados inúteis na memória do computador (característica presente também em Java, mas não em C++) • recursos avançados de manipulação de textos, listas e outras estruturas de dados • possibilidade de executar o mesmo programa sem modificações em várias plataformas de hardware e sistemas operacionais (uma virtude de Java, mas difícil de se conseguir em C++) Em resumo, Python nos oferece uma sintaxe simples mas ao mesmo tempo suporta a maior parte das características importantes de linguagens modernas e amplamente utilizadas como Java, C++, Perl e VBScript. Por esse motivos acreditamos que seja a melhor escolha para quem quer começar a programar hoje.

Texto aprendendo Python por Luciano Ramalho!
Mais informações »

sexta-feira, 1 de maio de 2015

Curso básico completo de Python





Bem vamos la devido a muitos pedidos e como meu tutorial de iniciação ao Python ainda não esta pronto venho indicar todos os amigos Curso básico completo Python para Zumbis do Excelente Professor Masnori com vídeo aulas e exercícios espero que todos aproveitem e começa ja de forma divertida e envolvente a usar Python .






Mais informações »

10 Razões para usar Python - Palestrante Luciano Ramalho.






Uma ótima Palestra sobre as 10 razoes para usar Python vale a pena para quem já é  programador
Python assim para quem esta começando na linguagem.


Essa palestra ira mostrar a importancia de Python, e discutira coisas como: Desde quando o Google e o Youtube usam Python? Desde o início. Os algoritmos inovadores do Google foram criados em Python e em C, e até hoje Python é usada em todos os milhões de servidores do Google. 

O Youtube já era feito em Python antes de ser adquirido pelo Google. Porquê o MIT está usando Python? O Massachussetts Institute of Technology, a mais famosa escola de engenharia do mundo, está usando Python em sua principal disciplina introdutória de computação. Python foi adodada porque possui biblitotecas muito versáteis (redes, robôs, computação gráfica, etc.) e permite explorar conceitos avançados de orientação a objetos e meta-programação, mas tem uma curva de aprendizagem suave.







Mais informações »

quinta-feira, 30 de abril de 2015

Falando de Python parte 2








 




As linguagens dinâmicas eram vistas no passado apenas como linguagens script, usadas para automatizar pequenas tarefas, porém, com o passar do tempo, elas cresceram, amadureceram e conquistaram seu espaço no mercado, a ponto de chamar a atenção dos grandes fornecedores de tecnologia. 

Vários fatores contribuíram para esta mudança, tais como a internet, o software de código aberto e as metodologias ágeis de desenvolvimento. A internet viabilizou o compartilhamento de informações de uma forma sem precedentes na história, que tornou possível o crescimento do software de código aberto. As linguagens dinâmicas geralmente são código aberto e compartilham as mesmas funcionalidades e em alguns casos, os mesmos objetivos. 
A produtividade e expressividade das linguagens dinâmicas se encaixam perfeitamente com as metodologias ágeis, que nasceram do desenvolvimento de software de código aberto e defendem um enfoque mais pragmático no processo de criação e manutenção de software do que as metodologias mais tradicionais. Entre as linguagens dinâmicas, o Python se destaca como uma das mais populares e poderosas. Existe uma comunidade movimentada de usuários da linguagem no mundo, o que se reflete em listas de discussão ativas e muitas ferramentas disponíveis em código aberto. Aprender uma nova linguagem de programação significa aprender a pensar de outra forma. E aprender uma linguagem dinâmica representa uma mudança de paradigma ainda mais forte para aquelas pessoas que passaram anos desenvolvendo em linguagens estáticas.



Mais informações »

Falando um pouco sobre Python



Python é uma linguagem de altíssimo nível (em inglês, Very High Level Language) orientada a objetos, de tipagem dinâmica e forte, interpretada e interativa. 

Características O Python possui uma sintaxe clara e concisa, que favorece a legibilidade do código fonte, tornando a linguagem mais produtiva. A linguagem inclui diversas estruturas de alto nível (listas, tuplas, dicionários, data / hora, complexos e outras) e uma vasta coleção de módulos prontos para uso, além de frameworks de terceiros que podem ser adicionados. Também possui recursos encontrados em outras linguagens modernas, tais como: geradores, introspecção, persistência, metaclasses e unidades de teste. Multiparadigma, a linguagem suporta programação modular e funcional, além da orientação a objetos. Mesmo os tipos básicos no Python são objetos. A linguagem é interpretada através de bytecode pela máquina virtual Python, tornando o código portável. 

Com isso é possível compilar aplicações em uma plataforma e rodar em outras ou executar direto do código fonte. Python é um software de código aberto (com licença compatível com a General Public License (GPL), porém menos restritiva, permitindo que o Python seja incorporados em produtos proprietários) e a especificação da linguagem é mantida pela Python Software Foundation2 (PSF). Python é muito utilizado como linguagem script em vários softwares, permitindo automatizar tarefas e adicionar novas funcionalidades, entre eles: BrOffice.org, PostgreSQL, Blender e GIMP. Também é possível integrar o Python a outras linguagens, como a Linguagem C. Em termos gerais, o Python apresenta muitas similaridades com outras linguagens dinâmicas, como Perl e Ruby. Histórico Python foi criada em 1990 por Guido van Rossum, no Instituto Nacional de Pesquisa para Matemática e Ciência da Computação da Holanda (CWI) e tinha como foco original usuários como físicos e engenheiros. O Python foi concebido a partir de outra linguagem existente na época, chamada ABC. Hoje, a linguagem é bem aceita na industria por empresas de alta tecnologia, tais como: 1 Página oficial: http://www.python.org/. 2 Endereço na internet da PSF: http://www.python.org/psf/.




Mais informações »

quarta-feira, 29 de abril de 2015

Valores e tipos

valor (por exemplo, letras e números) é uma das coisas fundamentais que um programa manipula. Os valores que já vimos até agora foram o 2 (como resultado, quando 





valor (por exemplo, letras e números) é uma das coisas fundamentais que um programa manipula. Os valores que já vimos até agora foram o 2 (como resultado, quando adicionamos 1 + 1) e "Alô, Mundo!".



adicionamos 1 + 1) e "Alô, Mundo!".
Esses valores pertencem a tipos diferentes: 2 é um inteiro, e "Alô, Mundo!" é uma string, assim chamada porque “string”, em inglês, quer dizer sequência, série, cadeia (de caracteres), ou neste caso, “série de letras”. Você (e o interpretador) consegue identificar strings porque elas aparecem entre aspas.
O comando print também funciona com inteiros:
>>> print 4
4
Se você estiver em dúvida sobre qual é o tipo de um determinado valor, o interpretador pode revelar:
>>> type("Alô, Mundo!")
<type 'string'>
>>> type(17)
<type 'int'>
Nenhuma surpresa: strings pertencem ao tipo string e inteiros pertencem ao tipo int. Menos obviamente, números com um ponto decimal pertencem a um tipo chamado float, porque estes números são representados em um formato chamado ponto flutuante [1]:
>>> type(3.2)
<type 'float'>
[1]N.T.: Observe o uso de ponto no lugar da vírgula para separar a parte inteira da parte fracionária.
O que dizer de valores como "17" e "3.2"? Eles parecem números, mas estão entre aspas, como strings:
>>> type("17")
<type 'string'>
>>> type("3.2")
<type 'string'>
Eles são strings.
Ao digitar um número grande, é tentador usar pontos entre grupos de três dígitos, assim: 1.000.000. Isso não funciona por que Python usa o ponto como separador decimal. Usar a vírgula, como se faz em inglês, resulta numa expressão válida, mas não no número que queríamos representar:
>>> print 1,000,000
1 0 0
Não é nada do que se esperava! Python interpreta 1,000,000 como uma tupla, algo que veremos no Capítulo 9. Por hora, lembre-se apenas de não colocar vírgulas nos números.
Mais informações »

Funções e Glossario

Funções com resultados

A essa altura, você deve ter percebido que algumas das funções que estamos usando, tais como as funções matemáticas, produzem resultados. Outras funções, como novaLinha, executam uma ação, mas não retornam um valor. O que levanta algumas questões:
  1. O que acontece se você chama uma função e não faz nada com o resultado (por exemplo, não atribui o resultado a uma variável ou o usa como parte de uma expressão maior)?
  2. O que acontece se você usa uma função que não produz resultado em uma expressão tal como novaLinha() + 7?
  3. Você pode escrever funções que produzem resultados, ou está preso a funções como novaLinha e imprimeDobrado?
A resposta para a terceira questão é afirmativa e nós vamos fazer isso no Capítulo 5.
A título de exercício, responda as outras duas questões testando-as. Se tiver dúvida sobre o que é válido ou inválido em Python, tente buscar a resposta perguntando ao interpretador.

 Glossário

argumento (argument)
Valor fornecido a uma função quando ela é chamada. Este valor é atribuído ao parâmetro correspondente na função.
chamada de função (function call)
Comando que executa uma função. Consiste do nome da função seguido de uma lista de argumentos entre parênteses.
coerção de tipo (type coercion)
Uma coerção de tipo que ocorre automaticamente, de acordo com as regras de coercividade do Python.
conversão de tipo (type conversion)
Comando explícito que pega um valor de um tipo e devolve o valor correspondente em outro tipo.
definição de função (function definition)
Comando que cria uma nova função, especificando seu nome, parâmetros e comandos que ela executa.
diagrama da pilha (stack diagram)
Representação gráfica da pilha de funções, suas variáveis e os valores aos quais elas se referem.
fluxo de execução (flow of execution)
A ordem na qual os comandos são executados durante a execução do programa.
frame
Retângulo no diagrama da pilha que representa uma chamada de função. Contém as variáveis locais e os parâmetros da função.
função (function)
Sequência de comandos nomeada, que realiza alguma tarefa útil. As funções podem ou não receber parâmetros e podem ou não retornar valores.
módulo (module)
Arquivo que contém uma coleção de funções e classes relacionadas entre si.
notação de ponto (dot notation)
A sintaxe para chamar uma função que está em outro módulo, especificando o nome do módulo, seguido por um ponto (.) e o nome da função.
parâmetro (parameter)
Nome usado numa função para referir-se a um valor passado como argumento.
traceback
Lista de funções que estão em execução, impressa quando um erro de execução ocorre.
valor de retorno (return value)
O resultado da função. Se uma chamada de função é usada como expressão, o valor de retorno é o valor da expressão.
variável local (local variable)
Variável definida dentro da função. Uma variável local só pode ser usada dentro da função onde foi definida.
Mais informações »

terça-feira, 28 de abril de 2015

Vamos aprender um pouco sobre variáveis.




Uma das características mais poderosas de uma linguagem de programação é a habilidade de manipular variáveis. Uma variável é um nome que se refere a um valor.
comando de atribuição cria novas variáveis e dá a elas valores:
>>> mensagem = "E aí, Doutor?"
>>> n = 17
>>> pi = 3.14159
Este exemplo faz três atribuições. A primeira atribui a string "E aí, Doutor?" a uma nova variável chamada mensagem. A segunda dá o valor inteiro 17 a n, e a terceira atribui o número de ponto flutuante 3.14159 à variável chamada pi.
Uma maneira comum de representar variáveis no papel é escrever o nome delas com uma seta apontando para o valor da variável. Esse tipo de figura é chamado de diagrama de estado porque mostra em que estado cada variável está (pense nisso como o estado de espírito da variável). O diagrama a seguir mostra o resultado das instruções de atribuição:
_images/02_01_estado.png
O comando print também funciona com variáveis:
>>> print mensagem
E aí, Doutor?
>>> print n
17
>>> print pi
3.14159
Em cada um dos casos, o resultado é o valor da variável. Variáveis também têm tipo. Novamente, podemos perguntar ao interpretador quais são eles:
>>> type(mensagem)
<type 'string'>
>>> type(n)
<type 'int'>
>>> type(pi)
<type 'float'>
O tipo de uma variável é o tipo do valor ao qual ela se refere.



Os programadores geralmente escolhem nomes significativos para suas variáveis, pois os nomes documentam para o que a variável é usada.

Nomes de variáveis podem ser arbitrariamente longos. Eles podem conter tanto letras quanto números, mas têm de começar com uma letra. Embora seja válida a utilização de letras maiúsculas, por convenção, não usamos. Se você o fizer, lembre-se de que maiúsculas e minúsculas são diferentes. Bruno e bruno são variáveis diferentes.
O caractere para sublinhado ( _ ) pode aparecer em um nome. Ele é muito utilizado em nomes com múltiplas palavras, tal como em meu_nome oupreco_do_cha_na_china.
Se você der a uma variável um nome inválido, causará um erro de sintaxe:
>>> 76trombones = "grande parada"
SyntaxError: invalid syntax
>>> muito$ = 1000000
SyntaxError: invalid syntax
>>> class = "Ciencias da Computacao 101"
SyntaxError: invalid syntax
76trombones é inválida por não começar com uma letra. muito$ é inválida por conter um caractere ilegal, o cifrão. Mas o que está errado comclass?
Ocorre que class é uma das palavras reservadas em Python. Palavras reservadas definem as regras e a estrutura da linguagem e não podem ser usadas como nomes de variáveis.
Python tem 29 palavras reservadas:
and       def       exec      if        not       return
assert    del       finally   import    or        try
break     elif      for       in        pass      while
class     else      from      is        print     yield
continue  except    global    lambda    raise
Pode ser útil ter essa lista à mão [2]. Se o interpretador acusar erro sobre um de seus nomes de variável e você não souber o porquê, veja se o nome está na lista.
N.T.: esta lista pode ser obtida através do próprio interpretador Python, com apenas dois comandos:
import keyword
print keyword.kwlist


Mais informações »

segunda-feira, 27 de abril de 2015

Vídeo Aula




De começo uma aula modulo básico muito divertida de Python com Trevor Payne detalhe é inglês mas pode usar legendas em Português. 





Mais informações »

Bem vindos !




Olá amigos bem vindos a todos ao meu blog Loucos por Python!
Primeiramente queria dizer que sera um prazer poder aqui colaborar com quem esta começando na linguagem Python assim como na programação , como vemos hoje em dia falta programadores então achei que deveria ajudar de certa forma não só quem quer começar ate como tirar as duvidas e aprender com colaboradores .
O blog divulgara tudo relacionado ao Python assim como livros, vídeo aulas ,Jobs e tudo que possa ajudar de certa forma quem esta começando ou já sabe de Python .








Mais informações »

Colabore!

Certificações

certificación Ubuntu

Parceiros