Usar str.format() ao invés de incrementar string
O valor retornado pelas duas funções a seguir são idênticos:
def exemplo1(idMembro=0,
relevante=0,
autores="João Silva",
titulo="Patente",
ano=2000,
item=""):
s = "\n[PATENTE E REGISTRO] \n"
s += "+ID-MEMBRO : " + str(idMembro) + "\n"
s += "+RELEVANTE : " + str(relevante) + "\n"
s += "+AUTORES : " + autores + "\n"
s += "+TITULO : " + titulo + "\n"
s += "+ANO : " + str(ano) + "\n"
s += "+item : " + item + "\n"
return s
def exemplo2(idMembro=0,
relevante=0,
autores="João Silva",
titulo="Patente",
ano=2000,
item=""):
return "\n[PATENTE E REGISTRO] \n" \
"+ID-MEMBRO : {}\n" \
"+RELEVANTE : {}\n" \
"+AUTORES : {}\n" \
"+TITULO : {}\n" \
"+ANO : {}\n" \
"+item : {}\n".format(idMembro,
relevante, autores, titulo, ano, item)
A segunda maneira, recomendada pela PEP 3101, é preferida por evitar erros ao esquecer de converter a variável em uma string antes de concatenar.