Okk, so I am giving you a sample solution. Hope, it will help!
You can create an empty variable outside of the loop and concatenate the query string to that variable. Here is an edit on your given code:
expected_query_seq = ""
for record in records:
for alignment in record.alignments:
hits = sorted((hsp.query_start, hsp.query_end, hsp.sbjct_start, hsp.sbjct_end, alignment.title, hsp.query, hsp.sbjct)\
for hsp in alignment.hsps)
for q_start, q_end, sb_start, sb_end, title, query, sbjct in hits:
print title
print 'The query starts from position: ' + str(q_start)
print 'The query ends at position: ' + str(q_end)
print 'The hit starts at position: ' + str(sb_start)
print 'The hit ends at position: ' + str(sb_end)
print 'The query is: ' + query
print 'The hit is: ' + sbjct
expected_query_seq += str(query[q_start:q_end])
print expected_query_seq