As outras respostas estão corretas na medida em que não faz nenhuma diferença técnica, mas eu vi uma regra de estilo informal em alguns projetos de código aberto: aspas duplas são usadas para cadeias de caracteres que eventualmente podem ser visíveis para o usuário eles não precisam de tradução), e as aspas simples são para strings relacionadas à funcionalidade do próprio código (por exemplo, chaves dict, expressões regulares, SQL).
Esta certamente não é uma regra universal (ou mesmo codificada em um PEP), então, como qualquer outro aspecto arbitrário da codificação, ela se resume a regras locais.
Observe que o PEP 8 (que eu não havia notado quando escrevi essa resposta) diz :
This PEP does not make a recommendation for this. Pick a rule and stick to it. When a string contains single or double quote characters, however, use the other one to avoid backslashes in the string. It improves readability.
Como um comentarista aponta, isso não é necessariamente contraditório, dependendo de como você interpreta a "regra". O que eu sugiro, na verdade, não funciona com a segunda metade da citação.