Domine os Fundamentos de Python: Sintaxe e Básicos
A linguagem Python tem muitas semelhanças com Perl, C e Java. No entanto, existem algumas diferenças definidas entre as linguagens.
Primeiro Programa Python
Vamos executar programas em diferentes modos de programação.
Modo de Programação Interativo
Invocar o interpretador sem passar um ficheiro de script como parâmetro traz o seguinte prompt:
$ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Digite o seguinte texto no prompt do Python e pressione Enter:
>>> print "Hello, Python!"
Se estiver a executar uma versão nova do Python, precisará de usar a declaração print com parênteses como em print ("Hello, Python!");. No entanto, na versão Python 2.4.3, isto produz o seguinte resultado:
Hello, Python!
Modo de Programação via Script
Invocar o interpretador com um parâmetro de script inicia a execução do script e continua até o script terminar. Quando o script termina, o interpretador deixa de estar ativo.
Vamos escrever um simples programa Python num script. Ficheiros Python têm extensão .py. Digite o seguinte código-fonte num ficheiro test.py:
Live Demoprint "Hello, Python!"
Assumimos que tem o interpretador Python definido na variável PATH. Agora, tente executar este programa da seguinte forma:
$ python test.py
Isto produz o seguinte resultado:
Hello, Python!
Vamos tentar outra forma de executar um script Python. Aqui está o ficheiro test.py modificado:
Live Demo#!/usr/bin/python print "Hello, Python!"
Assumimos que tem o interpretador Python disponível no diretório /usr/bin. Agora, tente executar este programa da seguinte forma:
$ chmod +x test.py # Isto é para tornar o ficheiro executável $./test.py
Isto produz o seguinte resultado:
Hello, Python!
Identificadores Python
Um identificador Python é um nome usado para identificar uma variável, função, classe, módulo ou outro objeto. Um identificador começa com uma letra de A a Z ou a a z ou um sublinhado (_) seguido por zero ou mais letras, sublinhados e dígitos (0 a 9).
O Python não permite caracteres de pontuação como @, $ e % dentro de identificadores. Python é uma linguagem de programação case sensitive. Assim, Manpower e manpower são dois identificadores diferentes em Python.
Aqui estão convenções de nomenclatura para identificadores Python:
Nomes de classes começam com letra maiúscula. Todos os outros identificadores começam com letra minúscula.
Iniciar um identificador com um único sublinhado inicial indica que o identificador é privado.
Iniciar um identificador com dois sublinhados iniciais indica um identificador fortemente privado.
Se o identificador também terminar com dois sublinhados finais, o identificador é um nome especial definido pela linguagem.
Palavras Reservadas
A lista seguinte mostra as palavras-chave Python. São palavras reservadas e não pode usá-las como nomes de constantes, variáveis ou quaisquer outros identificadores. Todas as palavras-chave Python contêm apenas letras minúsculas.
| and | exec | not |
| assert | finally | or |
| break | for | pass |
| class | from | |
| continue | global | raise |
| def | if | return |
| del | import | try |
| elif | in | while |
| else | is | with |
| except | lambda | yield |
Linhas e Indentação
O Python não fornece chaves para indicar blocos de código para definições de classe e função ou controle de fluxo. Blocos de código são denotados por indentação de linha, que é rigidamente aplicada.
O número de espaços na indentação é variável, mas todas as declarações dentro do bloco devem ser indentadas na mesma quantidade. Por exemplo:
if True: print "True" else: print "False"
No entanto, o bloco seguinte gera um erro:
if True: print "Answer" print "True" else: print "Answer" print "False"
Assim, em Python, todas as linhas contíguas indentadas com o mesmo número de espaços formariam um bloco. O exemplo seguinte tem vários blocos de declarações:
Nota – Não tente entender a lógica neste momento. Apenas certifique-se de que entendeu os vários blocos mesmo que estejam sem chaves.
#!/usr/bin/python import sys try: # open file stream file = open(file_name, "w") except IOError: print "There was an error writing to", file_name sys.exit() print "Enter '", file_finish, print "' When finished" while file_text != file_finish: file_text = raw_input("Enter text: ") if file_text == file_finish: # close the file file.close break file.write(file_text) file.write("\n") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys.exit() try: file = open(file_name, "r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text
Declarações Multi-linha
Declarações em Python tipicamente terminam com uma nova linha. O Python, no entanto, permite o uso do caractere de continuação de linha (\) para denotar que a linha deve continuar. Por exemplo:
total = item_one + \ item_two + \ item_three
Declarações contidas dentro dos parênteses [], {}, ou () não precisam de usar o caractere de continuação de linha. Por exemplo:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Aspas em Python
O Python aceita aspas simples ('), duplas (") e triplas (''' ou """) para denotar literais de string, desde que o mesmo tipo de aspas inicie e termine a string.
As aspas triplas são usadas para estender a string por várias linhas. Por exemplo, todos os seguintes são legais:
word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences."""
Comentários em Python
Um sinal de hash (#) que não está dentro de um literal de string inicia um comentário. Todos os caracteres após o # e até ao fim da linha física fazem parte do comentário e o interpretador Python ignora-os.
Live Demo#!/usr/bin/python # First comment print "Hello, Python!" # second comment
Isto produz o seguinte resultado:
Hello, Python!
Pode digitar um comentário na mesma linha após uma declaração ou expressão:
name = "Madisetti" # This is again comment
Pode comentar várias linhas da seguinte forma:
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
Uma string tripla citada a seguir também é ignorada pelo interpretador Python e pode ser usada como comentários multi-linha:
''' This is a multiline comment. '''
Usando Linhas em Branco
Uma linha contendo apenas espaços em branco, possivelmente com um comentário, é conhecida como linha em branco e o Python ignora-a totalmente.
Numa sessão de interpretador interativo, deve inserir uma linha física vazia para terminar uma declaração multi-linha.
Aguardar o Utilizador
A seguinte linha do programa exibe o prompt, a declaração a dizer "Pressione a tecla enter para sair", e aguarda que o utilizador tome uma ação:
#!/usr/bin/python raw_input("\n\nPress the enter key to exit.")
Aqui, "\n\n" é usado para criar duas novas linhas antes de exibir a linha real. Uma vez que o utilizador pressiona a tecla, o programa termina. Este é um bom truque para manter uma janela de consola aberta até que o utilizador termine com uma aplicação.
Múltiplas Declarações numa Única Linha
O ponto e vírgula ( ; ) permite múltiplas declarações na única linha, dado que nenhuma declaração inicia um novo bloco de código. Aqui está um exemplo usando o ponto e vírgula:
import sys; x = 'foo'; sys.stdout.write(x + '\n')
Grupos de Múltiplas Declarações como Suites
Um grupo de declarações individuais, que formam um único bloco de código, são chamados suites em Python. Declarações compostas ou complexas, como if, while, def e class requerem uma linha de cabeçalho e uma suite.
Linhas de cabeçalho iniciam a declaração (com a palavra-chave) e terminam com dois pontos ( : ) e são seguidas por uma ou mais linhas que compõem a suite. Por exemplo:
if expression : suite elif expression : suite else : suite
Argumentos de Linha de Comando
Muitos programas podem ser executados para lhe fornecer alguma informação básica sobre como devem ser executados. O Python permite-lhe fazer isto com -h:
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
Pode também programar o seu script de forma a que aceite várias opções. Argumentos de Linha de Comando é um tópico avançado e deve ser estudado um pouco mais tarde, depois de ter passado pelo resto dos conceitos Python.
python
- Dominando Tipos de Dados em Python: Guia Prático
- Dominando Operadores em Python: Guia Completo
- Dominando a Declaração Pass em Python: Guia Prático
- Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
- Dominando time.sleep() do Python: Boas Práticas, Multithreading e Exemplos Reais
- Fundamentos de Java: Dominando a Sintaxe Básica
- Dominando a Sintaxe Básica do C: Tokens, Estrutura e Ponto e Vírgula
- Entendendo C++: Sintaxe Básica e Fundamentos da Orientação a Objetos
- Domine o Básico do MATLAB: Sintaxe e Comandos Essenciais
- Fundamentos de C#: Sintaxe Básica e Conceitos de OOP