Variáveis PyMySQL em consultas

Eu gostaria de ter uma conexão entre meu código python e um banco de dados SQL. Eu li várias maneiras de fazer isso, mas não estou conseguindo obter os resultados.

conn = pymysql.connect(user=X,passwd=X,host=X,port=X,database=X, charset='utf8', autocommit=True)
curs = conn.cursor()

try:
    curs.execute('SELECT id,sing_name,bir_yr FROM singers_list WHERE bir_yr = ? ',year)
    data = curs.fetchall()       
    for i in data:
        yield " Data: " + str(i) + "<br/>"
except:
    yield " Failed to get data from base<br/>"

Ondeano é uma variável int python. Estou obtendo os resultados adequados com:

curs.execute('SELECT id,sing_name,bir_yr FROM singers_list)

O que significa que estou me conectando com sucesso ao banco de dados. Como posso incluir variáveis nas consultas? (não apenas números inteiros, mas também strings ou qualquer outro tipo)

questionAnswers(1)

yourAnswerToTheQuestion