Python é uma linguagem de programação moderna, livre, personalizável, eficaz e de código aberto que oferece uma ampla gama de funcionalidades atraentes e permite que os desenvolvedores de aplicativos criem projetos de software totalmente compatíveis com o mainstream. sistemas operacionais.
Opções de linha de comando
As opções de linha de comando padrão incluem otimização do bytecode gerado, otimização do bytecode gerado e remoção de cadeias de documentos, uso de formulários não-UNIX de #! cmd pulando a primeira linha da fonte, proteção contra DoS (Denial of Service ) ataques fazendo com que valores hash () de vários tipos sejam imprevisíveis, usando sal pseudo-aleatório.
Além disso, o programa também permite adicionar várias opções de divisão, como Qnew, Qwarn, Qold e Qwarnall, emitir avisos sobre o uso incompatível de guias, executar o programa no modo detalhado e receber avisos sobre o Python 3.x. incompatibilidades, bem como para depurar a saída do analisador e ignorar variáveis de ambiente PYTHON *.
Primeiros passos no Python
A linguagem de programação Python é frequentemente comparada com as linguagens de programação / script Java, Perl, Scheme ou Tcl. É compatível com todas as distribuições GNU / Linux, assim como com o Microsoft Windows, o Mac OS X, o Solaris, o BSD e vários outros sistemas operacionais semelhantes ao UNIX. Atualmente, é compatível com as arquiteturas de 32 bits (x86) e 64 bits (x86_64).
Instalar o Python no seu sistema é uma tarefa bastante fácil, pois tudo o que você precisa fazer é acessar o gerenciador de pacotes padrão do seu sistema GNU / Linux e procurar pelo & python & rsquo; pacote. Instale-o e interaja com ele por meio de um emulador de terminal do Linux.
Usuários de Hardcore Linux / UNIX que desejam otimizar o Python para sua arquitetura de hardware, podem baixar a versão mais recente do projeto do Softoware, salvar o tarball de origem (arquivo tar.xz) no computador, descompactá-lo, abrir um emulador de terminal e navegue até o local dos arquivos de arquivo extraídos com o & lsquo; cd & rsquo; comando.
Use o & lsquo; ./ configure & rsquo; comando para fazer certas otimizações e, em seguida, executar o & lsquo; make & rsquo; Comando para compilar o Python. Por fim, instale o Python em todo o sistema executando o comando & lsquo; make install & rsquo; comando como root ou com sudo.
O que há de novo nesta versão:
- Biblioteca:
- [Segurança] bpo-30730: Impede a injeção de variáveis de ambiente no subprocesso do Windows. Evite transmitir outras variáveis de ambiente e argumentos de comando.
- [Segurança] bpo-30694: Atualize a cópia de expat do 2.2.0 para 2.2.1 para obter correções de várias vulnerabilidades de segurança, incluindo: CVE-2017-9233 (DoS de loop infinito de entidade externa), CVE-2016-9063 (Integer overflow, re-fixe), CVE-2016-0718 (Corrigir erros de regressão da correção do 2.2.0 para CVE-2016-0718) e CVE-2012-0876 (Contagem do hash do contador com o SipHash). Nota: o CVE-2016-5300 (Use fontes específicas de entropia como getrandom) não afeta o Python, já que o Python já obtém entropia do SO para definir o segredo de expat usando XML_SetHashSalt ().
- [Segurança] bpo-30500: corrija urllib.parse.splithost () para analisar corretamente os fragmentos. Por exemplo, splithost ('// 127.0.0.1#@evil.com/') agora retorna corretamente o host 127.0.0.1, em vez de tratar @ evil.com como host em uma autenticação (login @ host).
O que há de novo na versão:
- Biblioteca:
- [Segurança] bpo-30730: Impede a injeção de variáveis de ambiente no subprocesso do Windows. Evite transmitir outras variáveis de ambiente e argumentos de comando.
- [Segurança] bpo-30694: Atualize a cópia de expat do 2.2.0 para 2.2.1 para obter correções de várias vulnerabilidades de segurança, incluindo: CVE-2017-9233 (DoS de loop infinito de entidade externa), CVE-2016-9063 (Integer overflow, re-fixe), CVE-2016-0718 (Corrigir erros de regressão da correção do 2.2.0 para CVE-2016-0718) e CVE-2012-0876 (Contagem do hash do contador com o SipHash). Nota: o CVE-2016-5300 (Use fontes específicas de entropia como getrandom) não afeta o Python, já que o Python já obtém entropia do SO para definir o segredo de expat usando XML_SetHashSalt ().
- [Segurança] bpo-30500: corrija urllib.parse.splithost () para analisar corretamente os fragmentos. Por exemplo, splithost ('// 127.0.0.1#@evil.com/') agora retorna corretamente o host 127.0.0.1, em vez de tratar @ evil.com como host em uma autenticação (login @ host).
O que há de novo na versão 3.6.1 / 3.6.2 RC1:
- PEP 441, suporte aprimorado ao aplicativo zip do Python
- PEP 448, generalizações adicionais de desempacotamento
- PEP 461, & quot;% formatação & quot; para bytes e objetos bytearray
- PEP 465, um novo operador (@) para multiplicação de matrizes
- PEP 471, os.scandir (), uma nova função rápida de diretório
- PEP 475, adicionando suporte a novas tentativas automáticas de chamadas interrompidas do sistema
- PEP 479, altere o manuseio de Interrupção dentro de geradores
- PEP 484, o módulo de digitação, um novo padrão para anotações de tipo
- PEP 485, math.isclose (), uma função para testar a igualdade aproximada
- PEP 486, tornando o ativador do Windows Python ciente dos ambientes virtuais
- PEP 488, eliminando arquivos .pyo
- PEP 489, um mecanismo novo e aprimorado para carregar módulos de extensão
- PEP 492, co-rotina com async e aguarda a sintaxe
O que há de novo na versão 3.6.1:
- PEP 441, suporte aprimorado ao aplicativo zip do Python
- PEP 448, generalizações adicionais de desempacotamento
- PEP 461, & quot;% formatação & quot; para bytes e objetos bytearray
- PEP 465, um novo operador (@) para multiplicação de matrizes
- PEP 471, os.scandir (), uma nova função rápida de diretório
- PEP 475, adicionando suporte a novas tentativas automáticas de chamadas interrompidas do sistema
- PEP 479, altere o manuseio de Interrupção dentro de geradores
- PEP 484, o módulo de digitação, um novo padrão para anotações de tipo
- PEP 485, math.isclose (), uma função para testar a igualdade aproximada
- PEP 486, tornando o ativador do Windows Python ciente dos ambientes virtuais
- PEP 488, eliminando arquivos .pyo
- PEP 489, um mecanismo novo e aprimorado para carregar módulos de extensão
- PEP 492, co-rotina com async e aguarda a sintaxe
O que há de novo na versão 3.6.0:
- PEP 441, suporte aprimorado ao aplicativo zip do Python
- PEP 448, generalizações adicionais de desempacotamento
- PEP 461, & quot;% formatação & quot; para bytes e objetos bytearray
- PEP 465, um novo operador (@) para multiplicação de matrizes
- PEP 471, os.scandir (), uma nova função rápida de diretório
- PEP 475, adicionando suporte a novas tentativas automáticas de chamadas interrompidas do sistema
- PEP 479, altere o manuseio de Interrupção dentro de geradores
- PEP 484, o módulo de digitação, um novo padrão para anotações de tipo
- PEP 485, math.isclose (), uma função para testar a igualdade aproximada
- PEP 486, tornando o ativador do Windows Python ciente dos ambientes virtuais
- PEP 488, eliminando arquivos .pyo
- PEP 489, um mecanismo novo e aprimorado para carregar módulos de extensão
- PEP 492, co-rotina com async e aguarda a sintaxe
O que há de novo na versão 3.5.2:
- PEP 441, suporte aprimorado ao aplicativo zip do Python
- PEP 448, generalizações adicionais de desempacotamento
- PEP 461, & quot;% formatação & quot; para bytes e objetos bytearray
- PEP 465, um novo operador (@) para multiplicação de matrizes
- PEP 471, os.scandir (), uma nova função rápida de diretório
- PEP 475, adicionando suporte a novas tentativas automáticas de chamadas interrompidas do sistema
- PEP 479, altere o manuseio de Interrupção dentro de geradores
- PEP 484, o módulo de digitação, um novo padrão para anotações de tipo
- PEP 485, math.isclose (), uma função para testar a igualdade aproximada
- PEP 486, tornando o ativador do Windows Python ciente dos ambientes virtuais
- PEP 488, eliminando arquivos .pyo
- PEP 489, um mecanismo novo e aprimorado para carregar módulos de extensão
- PEP 492, co-rotina com async e aguarda a sintaxe
O que há de novo na versão 3.5.1:
- PEP 441, suporte aprimorado ao aplicativo zip do Python
- PEP 448, generalizações adicionais de desempacotamento
- PEP 461, & quot;% formatação & quot; para bytes e objetos bytearray
- PEP 465, um novo operador (@) para multiplicação de matrizes
- PEP 471, os.scandir (), uma nova função rápida de diretório
- PEP 475, adicionando suporte a novas tentativas automáticas de chamadas interrompidas do sistema
- PEP 479, altere o manuseio de Interrupção dentro de geradores
- PEP 484, o módulo de digitação, um novo padrão para anotações de tipo
- PEP 485, math.isclose (), uma função para testar a igualdade aproximada
- PEP 486, tornando o ativador do Windows Python ciente dos ambientes virtuais
- PEP 488, eliminando arquivos .pyo
- PEP 489, um mecanismo novo e aprimorado para carregar módulos de extensão
- PEP 492, co-rotina com async e aguarda a sintaxe
O que há de novo na versão 3.5.0:
- O Python 3.5.0 é a versão mais recente do Linguagem Python, e contém muitos novos recursos e otimizações.
O que há de novo na versão 3.4.3:
- Esta versão vem com mais de trezentas correções de bugs e outras melhorias sobre o 3.4.0. Uma mudança notável: a versão do OpenSSL empacotada com o instalador do Windows não tem mais a vulnerabilidade HeartBleed.
O que há de novo na versão 3.4.2:
- Esta versão vem com mais de trezentas correções de bugs e outras melhorias sobre 3.4.0. Uma mudança notável: a versão do OpenSSL empacotada com o instalador do Windows não tem mais a vulnerabilidade HeartBleed.
O que há de novo na versão 3.4.0 RC1:
- PEP 380, sintaxe para delegar a um subgerador (rendimento de)
- PEP 393, representação de cadeia flexível (eliminando a distinção entre compilações Unicode "amplo" e "estreito")
- Uma implementação C do & quot; decimal & quot; módulo, com aceleração de até 120x para aplicações com peso decimal
- O sistema de importação (__import__) é baseado em importlib por padrão
- O novo & quot; lzma & quot; módulo com suporte LZMA / XZ
- PEP 397, um iniciador do Python para Windows
- PEP 405, suporte ao ambiente virtual no núcleo
- PEP 420, suporte ao pacote de namespace
- PEP 3151, refazendo a hierarquia de exceções do SO e do IO
- PEP 3155, nome qualificado para classes e funções
- PEP 409, suprimindo o contexto de exceção
- PEP 414, literais Unicode explícitos para ajudar na portabilidade
- PEP 418, clocks estendidos independentes da plataforma no "tempo" módulo
- PEP 412, uma nova implementação de dicionário de compartilhamento de chaves que economiza significativamente memória para código orientado a objeto
- PEP 362, o objeto de assinatura de função
- O novo & quot; manipulador de falhas & quot; módulo que ajuda a diagnosticar falhas
- A nova & quot; unittest.mock & quot; módulo
- O novo & quot; ipaddress & quot; módulo
- A opção & quot; sys.implementation & quot; atributo
- Uma estrutura de política para o pacote de email, com uma política provisória (consulte PEP 411) que adiciona muito suporte a unicode aprimorado para análise de cabeçalho de email
- A & quot; coleções.ChainMap & quot; classe para vincular mapeamentos a uma única unidade
- Wrappers para muitas outras funções POSIX no & quot; os & quot; e? sinal? módulos, bem como outras funções úteis, como & quot; sendfile () & quot;
- Hash randomization, introduzido em versões anteriores de correção de bugs, agora é ativado por padrão
O que há de novo na versão 3.4.0 Beta 2:
- PEP 428, um? pathlib? módulo que fornece caminhos do sistema de arquivos orientados a objeto
- PEP 435, um "enum" padronizado módulo
- PEP 436, um aprimoramento de build que ajudará a gerar informações de introspecção para builtins
- PEP 442, semântica aprimorada para finalização de objetos
- PEP 443, adicionando funções genéricas de despacho único à biblioteca padrão
- PEP 445, uma nova API C para implementar alocadores de memória personalizados
- PEP 446, alterando descritores de arquivo para não serem herdados por padrão em subprocessos
- PEP 450, uma nova & quot; estatistica & quot; módulo
- PEP 451, padronizando os metadados do módulo para o sistema de importação de módulos do Python
- PEP 453, um instalador incluído para o gerenciador de pacotes pip
- PEP 454, um novo & quot; tracemalloc & quot; módulo para rastrear alocações de memória do Python
- PEP 456, um novo algoritmo de hash para strings Python e dados binários
- PEP 3154, um protocolo novo e aprimorado para objetos decapados
- PEP 3156, um novo & quot; asyncio & quot; módulo, uma nova estrutura para E / S assíncrona
O que há de novo na versão 3.4.0 Beta 1:
- PEP 428, um? pathlib? módulo que fornece caminhos do sistema de arquivos orientados a objeto
- PEP 435, um "enum" padronizado módulo
- PEP 436, um aprimoramento de build que ajudará a gerar informações de introspecção para builtins
- PEP 442, semântica aprimorada para finalização de objetos
- PEP 443, adicionando funções genéricas de despacho único à biblioteca padrão
- PEP 445, uma nova API C para implementar alocadores de memória personalizados
- PEP 446, alterando descritores de arquivo para não serem herdados por padrão em subprocessos
- PEP 450, uma nova & quot; estatistica & quot; módulo
- PEP 451, padronizando os metadados do módulo para o sistema de importação de módulos do Python
- PEP 453, um instalador incluído para o gerenciador de pacotes pip
- PEP 454, um novo & quot; tracemalloc & quot; módulo para rastrear alocações de memória do Python
- PEP 456, um novo algoritmo de hash para strings Python e dados binários
- PEP 3154, um protocolo novo e aprimorado para objetos decapados
- PEP 3156, um novo & quot; asyncio & quot; módulo, uma nova estrutura para E / S assíncrona
O que há de novo na versão 3.4.0 Alpha 4:
- PEP 435, um "enum" padronizado módulo
- PEP 436, um aprimoramento de build que ajudará a gerar informações de introspecção para builtins
- PEP 442, semântica aprimorada para finalização de objetos
- PEP 443, adicionando funções genéricas de despacho único à biblioteca padrão
- PEP 445, uma nova API C para implementar alocadores de memória personalizados
- PEP 446, alterando descritores de arquivo para não serem herdados por padrão em subprocessos
- PEP 450, o novo & quot; statistics & quot; módulo
- PEP 3156, o novo & quot; asyncio & quot; módulo, uma nova estrutura para E / S assíncrona
O que há de novo na versão 2.7.6:
- Um tipo de dicionário ordenado
- Novos recursos do teste de unidade, incluindo teste de salto, novos métodos de declaração e descoberta de teste
- Um módulo io muito mais rápido
- Numeração automática de campos no método str.format ()
- Boas melhorias de flutuação retornadas de 3.x
- Suporte a mosaico para o Tkinter
- Um backport do objeto memoryview de 3.x
- Definir literais
- Definir e compreensões de dicionário
- Visualizações de dicionário
- Nova sintaxe para aninhados com instruções
- O módulo sysconfig
O que há de novo na versão 3.2.5:
- várias melhorias no módulo unittest
- PEP 3147, suporte para diretórios de repositório .pyc
- PEP 3149, suporte para bibliotecas dinâmicas com tags de versão
- PEP 3148, uma nova biblioteca de futuros para programação concorrente
- PEP 384, uma ABI estável para módulos de extensão
- PEP 391, configuração de criação de log baseada em dicionário
- uma implementação de GIL reformulada que reduz a contenção
- um pacote de e-mail estendido que lida com mensagens de bytes
- um módulo ssl muito aprimorado com suporte para contextos SSL e correspondência de nome de host de certificado
- um módulo sysconfig para acessar informações de configuração
- ao módulo shutil, entre elas, suporte a arquivo morto
- muitos aprimoramentos ao configparser, entre eles suporte ao protocolo de mapeamento
- melhorias no pdb, o depurador do Python
- inúmeras correções relacionadas a problemas de bytes / strings; entre eles, suporte completo para um ambiente de bytes (nomes de arquivos, variáveis de ambiente)
- muitas correções de consistência e comportamento para operações numéricas
adições
O que há de novo na versão 3.3.2:
- PEP 380, sintaxe para delegar a um subgerador (rendimento de)
- PEP 393, representação de cadeia flexível (eliminando a distinção entre compilações Unicode "amplo" e "estreito")
- Uma implementação C do & quot; decimal & quot; módulo, com aceleração de até 120x para aplicações com peso decimal
- O sistema de importação (__import__) é baseado em importlib por padrão
- O novo & quot; lzma & quot; módulo com suporte LZMA / XZ
- PEP 397, um iniciador do Python para Windows
- PEP 405, suporte ao ambiente virtual no núcleo
- PEP 420, suporte ao pacote de namespace
- PEP 3151, refazendo a hierarquia de exceções do SO e do IO
- PEP 3155, nome qualificado para classes e funções
- PEP 409, suprimindo o contexto de exceção
- PEP 414, literais Unicode explícitos para ajudar na portabilidade
- PEP 418, clocks estendidos independentes da plataforma no "tempo" módulo
- PEP 412, uma nova implementação de dicionário de compartilhamento de chaves que economiza significativamente memória para código orientado a objeto
- PEP 362, o objeto de assinatura de função
- O novo & quot; manipulador de falhas & quot; módulo que ajuda a diagnosticar falhas
- A nova & quot; unittest.mock & quot; módulo
- O novo & quot; ipaddress & quot; módulo
- A opção & quot; sys.implementation & quot; atributo
- Uma estrutura de política para o pacote de email, com uma política provisória (consulte PEP 411) que adiciona muito suporte a unicode aprimorado para análise de cabeçalho de email
- A & quot; coleções.ChainMap & quot; classe para vincular mapeamentos a uma única unidade
- Wrappers para muitas outras funções POSIX no & quot; os & quot; e? sinal? módulos, bem como outras funções úteis, como & quot; sendfile () & quot;
- Hash randomization, introduzido em versões anteriores de correção de bugs, agora é ativado por padrão
O que há de novo na versão 3.3.0:
- PEP 380, sintaxe para delegar a um subgerador (rendimento de)
- PEP 393, representação de cadeia flexível (eliminando a distinção entre compilações Unicode "amplo" e "estreito")
- Uma implementação C do & quot; decimal & quot; módulo, com aceleração de até 120x para aplicações com peso decimal
- O sistema de importação (__import__) é baseado em importlib por padrão
- O novo & quot; lzma & quot; módulo com suporte LZMA / XZ
- PEP 397, um iniciador do Python para Windows
- PEP 405, suporte ao ambiente virtual no núcleo
- PEP 420, suporte ao pacote de namespace
- PEP 3151, refazendo a hierarquia de exceções do SO e do IO
- PEP 3155, nome qualificado para classes e funções
- PEP 409, suprimindo o contexto de exceção
- PEP 414, literais Unicode explícitos para ajudar na portabilidade
- PEP 418, clocks estendidos independentes da plataforma no "tempo" módulo
- PEP 412, uma nova implementação de dicionário de compartilhamento de chaves que economiza significativamente memória para código orientado a objeto
- PEP 362, o objeto de assinatura de função
- O novo & quot; manipulador de falhas & quot; módulo que ajuda a diagnosticar falhas
- A nova & quot; unittest.mock & quot; módulo
- O novo & quot; ipaddress & quot; módulo
- A opção & quot; sys.implementation & quot; atributo
- Uma estrutura de política para o pacote de email, com uma política provisória (consulte PEP 411) que adiciona muito suporte a unicode aprimorado para análise de cabeçalho de email
- A & quot; coleções.ChainMap & quot; classe para vincular mapeamentos a uma única unidade
- Wrappers para muitas outras funções POSIX no & quot; os & quot; e? sinal? módulos, bem como outras funções úteis, como & quot; sendfile () & quot;
- Hash randomization, introduzido em versões anteriores de correção de bugs, agora é ativado por padrão
Comentários não encontrado