class Musica:
def __init__(own, s_name, s_artist, s_genre, i_length):
own.nome = s_name # str
own.artista = s_artist # str
own.genero_musical = s_genre # str
own.duracao = i_length # int (segundos)
''' Essa função usa "dir()" para buscar todos os atributos do objeto, usa "startswith("__")" para ignorar os atributos especiais e "getattr()" para imprimir os valores dos atributos de interesse.
'''
def print_song(song):
for attribute in dir(song):
if not attribute.startswith('__'): # Ignora os __atributos-especiais__
attribute_value = getattr(song, attribute) # Pega os valores dos atributos
# Imprime com os valores alinhados
print(f'{attribute}:{' ' * (16 - len(attribute))} {attribute_value}')
print() # pula só para separar uma música da outra
# Cria instâncias de objeto da classe "Musica" e inicializa seus atributos
song_1 = Musica('Prety Woman', 'Roy Orbison', 'Pop rock', 175)
song_2 = Musica('High Steppin\' Hip Dressin\' Fella', 'Love Unlimited Orchestra', '80\'s Disco Dancing', 329)
song_3 = Musica('Under Pressure', 'Queen', 'Pop rock', 248)
print_song(song_1)
print_song(song_2)
print_song(song_3)