Postagens

Mostrando postagens com o rótulo Python

Programação Orientada à Objetos (POO) em Python

Classes Para criar uma classe: # define que é uma classe e o nome dela class Nome_Classe: # construtor da classe def __init__(self, parametro1, parametro2): self.atributo1 = ‘X’ self.atributo2 = 10 self.atributo3 = parametro1 self.atributo4 = parametro2 self.atributo5 = self.calcula_atributo5() def calcula_atributo5(self): return 1 + 2 Caso você não esteja familiarizado com o termo, um construtor é um método que é executado sempre que um novo objeto daquela classe é criado. Além de servir para inicializar os atributos, ele também é usado para garantir que determinados parâmetros obrigatórios sejam necessariamente informados para que a classe seja criada. Note que nos dois métodos, o primeiro argumento é o self. Ele é um parâmetro obrigatório em todos os métodos das classes que é utilizado para acessar atributos e métodos da instância da própria classe. Para instanciar uma classe: nome_classe = Nome_Classe(parametro1, parametro2) print(nome_classe.atributo1) # ...

Listas e Tuplas em Python

Listas Apesar de aparentemente serem criadas e usadas como arrays, Python não possui esse tipo de estrutura, sendo a lista o mais próximo. Uma vantagem disso é que as listas têm tamanho variável, enquanto arrays não. Por outro lado, arrays são mais rápidos do que listas.  Caso queira trabalhar com arrays, a biblioteca numpy oferece esse tipo de estrutura, assim como diversos métodos (bastante otimizados) para manipulação dos mesmos. As listas podem conter elementos de qualquer tipo, mas isso é considerado uma má prática. Para criar uma lista: lista = [] # lista vazia lista = [-10, 2, 14, 27] # lista populada Podemos obter o elemento número n da lista (sendo n > 0 e n < len(lista):  lista = [-10, 2, 14, 27] lista[0] # -10 lista[2] # 14 Também é possível obter o elemento número n a partir do final da lista (sendo n > 1 e n <= len(lista)): lista = [-10, 2, 14, 27] lista[-1] # 27 lista[-4] # -10 Caso seja utilizado um index inválido (ou seja, fora do range da lista), ...

Boas práticas Python

main() É uma boa prática criar um método main() no script principal para coordenar a execução da lógica do programa e as chamadas às outras bibliotecas/scripts Para garantirmos que a classe principal irá chamar o método main() do próprio script e não de algum outro script importado, comparamos se a variável global __name__ é igual à “__main__”: if __name__ == “__main__”: main()

Pygame: principais códigos do teclado

Pygame Code ASCII Common Name K_BACKSPACE \b backspace K_RETURN \r return K_TAB \t tab K_ESCAPE ^[ escape K_SPACE   space K_COMMA , comma sign K_MINUS - minus K_PERIOD . period slash K_SLASH / forward K_0 0 0 K_1 1 1 K_2 2 2 K_3 3 3 K_4 4 4 K_5 5 5 K_6 6 6 K_7 7 7 K_8 8 8 K_9 9 9 K_SEMICOLON ; semicolon sign K_EQUALS = equals sign K_LEFTBRACKET [ left K_RIGHTBRACKET ] right K_BACKSLASH \ backslash bracket K_BACKQUOTE ` grave K_a a a K_b b b K_c c c K_d d d K_e e e K_f f f K_g g g K_h h h K_i i i K_j j j K_k k k K_l l l K_m m m K_n n n K_o o o K_p p p K_q q q K_r r r K_s s s K_t t t K_u u u K_v v v K_w w w K_x x x K_y y y K_z z z K_DELETE delete K_KP0 keypad 0 K_KP1 keypad 1 K_KP2 keypad 2 K_KP3 keypad 3 K_KP4 keypad 4 K_KP5 keypad 5 K_KP6 keypad 6 K_KP7 keypad 7 K_KP8 keypad 8 K_KP9 keypad 9 period K_KP_PERIOD . keypad divide K_KP_DIVIDE / keypad multiply K_KP_MULTIPLY * keypad minus K_KP_MINUS - keypad plus K_KP_PLUS + keypad enter K_KP_ENTER \r keypad equals K_KP_EQUALS = keypad ...