Python3 01 – Iniciando…

novembro 8th, 2017 by Rudson Alves Leave a reply »
Este artigo é a parte 1 de 2 na série Python3

Nesta nova série, pretendo apresentar a linguagem de programação Phyton 3, mais especificamente 3.6.1 e superiores, conforme o texto for sendo desenvolvido. A intenção é criar uma coletânea de artigos sucintos, mas ainda com profundidade suficiente para dar uma boa compreensão do Python 3 e suas especificidades. O texto será construído com foco no usuário iniciante em Python, não sendo necessário o conhecimento de versões anteriores. Porém, algum conhecimento em programação é conveniente.

Como não tenho muita competência com as novas mídias, especificamente vlogs, tão pouco com a edição de vídeos, vou me manter firme no bom e simples blog com texto corrido, empregando exemplos de código quanto conveniente.

Uma Breve Apresentação do Python 3

“Dado a sua simplicidade, o Python é uma linguagem de programação fácil de se aprender e muito poderosa. Possui uma estrutura de dados de alto nível com orientação a objetos simples e muito efetivo. Com uma sintaxe elegante e tipagem dinâmica, unido a um interpretador robusto e bem otimizado, o Python se torna uma linguagem ideal para scripts e o desenvolvimento rápido de aplicativos em diferentes áreas e plataformas.” (em uma tradução livre do Manual do Python)

Embora seja uma linguagem interpretada, o Python é extremamente poderoso. Entre seus pontos fortes, pode-se citar:

  • Rápida Aprendizagem: dado a sua simplicidade e clareza no código, o Python apresenta uma curva de aprendizagem muito acentuada, sendo muito empregada no ensino de programação em diversas instituições de nível superior;
  • Multiparadigma: uma das grandes vantagens do uso do Python na academia é a possibilidade de se explorar diferentes paradigmas de programação, como: imperativa, procedural, funcional, orientação a objetos, capacidade reflexiva, dentre outros. Uma linguagem multiparadigma tende a atender mais necessidades, dando ao Python mais flexibilidade, além de ser uma ótima ferramenta no aprendizado;
  • Tipagem Dinâmica Forte: para alguns, isto pode ser uma desvantagem. Mas, se bem utilizado, simplifica e agiliza muito a construção de programa. No Python, a tipagem de uma variável é definida no momento de sua criação. Por exemplo, definindo a = 12, o interpretador irá inferir que “a” é do tipo inteiro;
  • Orientada a Objeto: no Python, todas as variáveis são objetos. Embora suporte funções e classes, não é obrigado a usá-las.

Talvez algum dia retome esta lista, mas, no momento, não pretendo ser muito extenso e vou direto ao primeiro contato com a linguagem desta série. Escrevi um pouco mais de informações sobre o Python 2 em Python 1 – Uma introdução ao Python. Embora existam pequenas diferenças nas duas versões, também há muitas semelhanças. Aqui, tentarei ser um pouco mais direto.

Primeiro Contato

Os códigos apresentados neste texto vão pressupor que o código será executado sobre o Python 3.6.1 ou superior e sobre GNU/Linux. Adaptações para Windows e instalações de IDEs são bem documentados na internet e, possivelmente, terão referências adicionadas futuramente.

O Python 3 geralmente é invocado nas distribuições Linux atuais com o comando python3. Dada a grande quantidade de aplicativos em Python ainda na versão 2, a maioria das distribuições ainda não rodam o Python 3 como padrão no sistema.

alves@luskan:$ python3
Python 3.6.1 (default, Jul 28 2017, 17:35:34) 
[GCC 7.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>  help
Type help() for interactive help, or help(object) for help about object.
>>>  help(print)

Este é o prompt do Python no modo interativo. A primeira função apresentada aqui é o comando help(), que, diferentemente do que ocorre no Python 2, não necessita de passar o nome da função/classe como string, de forma que apenas o comando help(print) apresenta o texto de suporte a função print.

Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.



-- MOST: *stdin*                                                         (1,1) 100%
Press `Q' to quit, `H' for help, and SPACE to scroll.

Pressione q para retornar ao modo interativo ou espaço para rolar o scroll do texto. Para sair do modo interativo, utilize o comando exit().

Primeiro Código

Para o tradicional Hello World!, será empregada a função de impressão do Python, print(). Para isto, escreva o comando abaixo no modo interativo:

>>>  print('Hello World!')
Hello World!
>>>  print('Hello', 'World!')
Hello World!
>>>

Os dois comandos geram a mesma saída. A função print() imprime todos os argumentos passados separados por um espaço e terminado com um alimentador de linha de linha, por padrão. Estes valores podem ser alterados ao se passar as variáveis sep e end em qualquer ordem, como apresentado no help anterior. Agora, tente algo como:

>>>  print('Hello', 'World!', sep = '*-*', end = ' ;-D\n')
Hello*-*World! ;-D
>>>

Para escrever um programa em Python, saia do interpretador e utilize um editor de texto de sua escolha para criar o código hello.py a seguir:

1
2
3
4
#!/bin/env python3
# Programa hello.py
#
print('Hello', 'World!')

A primeira linha do programa diz ao sistema, através do programa env (environment), que, se o interpretador deste código é o python3, as demais linhas iniciadas pelo caractere “#” são comentários e serão ignorados pelo interpretador. Para executar o programa, pode chamá-lo pelo interpretador:

alves@luskan:$ python3 hello.py
Hello World!

No caso acima, a linha 1 é dispensável. Uma segunda forma é fazer o aplicativo executável e chamar pelo nome, como mostrado abaixo:

alves@luskan:$ chmod +x hello.py
alves@luskan:$ ./hello.py
Hello World!

Neste segundo caso, a linha 1 é essencial. O “./” é necessário para indicar o diretório corrente como caminho para o hello.py. Isto pode ser omitido se adicionar um ponto, “.“, à variável PATH do sistema, mas não é recomendado por questões de segurança.

A linha 1 também pode ser apenas uma chamada ao interpretador, como

1
2
3
4
#!/bin/python3
# Programa hello.py
#
print('Hello', 'World!')

O efeito será exatamente o mesmo. O shell consulta a linha com o “#!” para usar como interpretador para o script. A desvantagem deste segundo modo é a possibilidade do interpretador python3 não possuir uma chamada instalada em /bin/, o que acontece no Slackware, bem como em outras distribuições.

alves@luskan:$ ./hello.py 
bash: ./hello.py: /bin/python3: interpretador incorreto: Arquivo ou diretório não encontrado

Na maioria dos sistemas, o Python 3 possui uma chamada em /usr/bin/python3. O mais aconselhável é deixar o comando env iniciar o ambiente do Python, o que dá mais mobilidade a seu código.


QR Code
Advertisement

Deixe uma resposta

This blog is kept spam free by WP-SpamFree.