Código fonte de tugalib.tuga_std

"""
Outras funções
==============

Outras funções que não se encaixam em nenhuma categoria específica.
"""
import time as _time
from tugalib.util import synonyms, accented_keywords


#
# Time control
#
@synonyms('durma')
[documentos]def dormir(intervalo): """Permanece sem fazer nada o intervalo de tempo fornecido (em segundos)""" _time.sleep(intervalo)
@synonyms('pausa', 'pause')
[documentos]def pausar(): """Interrompe a execução até o usuário apertar a tecla <enter>""" input('')
@synonyms('termine')
[documentos]def terminar(): """ Termina a execução do programa. Semelhante à função sair(cod_erro), mas não requer a especificação de um código de erro""" sair(0)
@synonyms('saia')
[documentos]def sair(código_erro=0): """ Termina a execução do programa fornecendo um código de erro ou código de saída. Um ``código_erro=0`` sinaliza que o programa terminou com sucesso. Qualquer outro número ou um texto representa falha""" raise SystemExit(código_erro)
# # Conversions/representations of numerical types #
[documentos]def real(x): """ Converte um texto ou número a um número de ponto flutuante. Examples -------- >>> real(5) 5.0 >>> real(673.23) 673.23 >>> real("673.23") 673.23 """ return float(x)
[documentos]def inteiro(x): """ Converte um número ou texto num inteiro, ou retorna 0 se nenhum argumento for fornecido. Examples -------- >>> int(4.3) 4 >>> int(44.6E-1) 4 >>> int() 0 """ return int(x)
[documentos]def booleano(x): """ Retorna verdadeiro quando o argumento x é verdadeiro, falso em caso contrário. Os booleanos podem ser usados como inteiros, sendo que falso equivale a 0 e verdadeiro equivale a 1. Examples -------- >>> booleano(0) Falso >>> booleano(1) Verdadeiro """ return bool(x)
[documentos]def binário(x): """ Retorna a representação binária de um [inteiro/número inteiro]. Examples -------- >>> bin(2796202) '0b1010101010101010101010' """ return bin(x)
[documentos]def octal(x): """ Retorna a representação octal de um inteiro. Examples -------- >>> octal(22052015) '0o124076257' """ return oct(x)
[documentos]def hexadecimal(x): """ Retorna a representação hexadecimal de um inteiro. Examples -------- >>> hex(6745) '0x1a59' """ return hex(x)
[documentos]def caractere(x): """ Retorna um texto Unicode associado a um ordinal (Unicode é um padrão de representãção de qualquer caractere de um sistema de escrita). Examples -------- >>> caractere(227) 'ã' >>> caractere(231) 'ç' >>> caractere(224) 'à' """ return chr(x)
# # Sequence operations #
[documentos]def tamanho(x): """ Retorna o número de itens de uma sequência ou coleção. Examples -------- >>> texto = "programando em python" >>> tamanho(texto) 21 """ return len(x)
@synonyms('enumere')
[documentos]def enumerar(x): """ Retorna uma enumeração. Examples -------- >>> música = ['uni', 'duni', 'te'] >>> listar(enumerar(música)) [(0, 'uni'), (1, 'duni'), (2, 'te')] """ return enumerate(x)
[documentos]def dicionário(dados, **kwds): """ Retorna um dicionário a partir da sequẽncia de elementos (chave, valor). Examples -------- >>> dicionário([(0, 'zero'), (1, 'um'), (2, 'dois')]) {0: 'zero', 1: 'um', 2: 'dois'} """ return dict(dados, **kwds)
[documentos]def tupla(x): """ Retorna uma tupla com todos os elementos da sequência fornecida. Uma tupla se assemelha com uma lista, mas não pode ser modificada após criada. Examples -------- >>> tupla([1, 2, 3]) (1, 2, 3) """ return tuple(x)
[documentos]def lista(seq=None): """ Cria uma lista a partir da sequência fornecida. Se nenhuma sequência for fornecida, retorna uma lista vazia. """ if seq is None: return [] return list(seq)
@synonyms('liste')
[documentos]def listar(seq): """ Retorna uma lista com todos os elementos da sequência fornecida. Examples -------- >>> listar('olá') ['o', 'l', 'á'] """ return list(seq)
@synonyms('liste_invertido')
[documentos]def listar_invertido(seq): """ Lista os elementos da sequência fornecida na ordem inversa. Examples -------- >>> música = ['uni', 'duni', 'te'] >>> listar_invertido(música) ['te', 'duni', 'uni'] """ return list(reversed(seq))
[documentos]def ordenado(seq, chave=None): """ Retorna uma cópia da sequência fornecida com os elementos ordenados. Examples -------- >>> sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] """ return sorted(seq, key=chave)
@accented_keywords
[documentos]def texto(obj, codificacao=None): """ Cria um novo texto a partir do objeto fornecido. Examples -------- >>> texto(42) "42" """ if codificação is None: return str(obj) return str(obj, encoding=codificação)
# # Other functions #
[documentos]def tipo(x): """ Retorna o tipo do objeto. Examples -------- >>> tipo(2) == inteiro Verdadeiro """ # Disabled type(name, bases, namespace) since we don't expect begginers # messing up with metaclasses ;-) return type(x)
[documentos]def ajuda(*args): """ Fornece ajuda sobre módulos, palavras chaves ou tôpicos do Pytuguês. Pode ser chamada sem argumentos como `ajuda()` para uma ajuda geral sobre como utilizar o Pytuguês ou pode ser chamada com um argumento (como em `ajuda(binário)` para obter ajuda sobre um tópico específico. """ #TODO: criar função ajuda interativa em português if not args: return help() else: return help(*args)
# # Singleton objects # verdadeiro = Verdadeiro = True falso = Falso = False nulo = Nulo = None # # Pending functions # # format = format # ord = ord # bytes = bytes if __name__ == '__main__': import doctest doctest.testmod()