Nota: Questo non è un duplicato del linked answer, che si concentra sulle questioni relative alle prestazioni, e ciò che accade dietro le tende quando una chiamata di funzione dict() è fatto. La mia domanda riguarda gli argomenti delle parole chiave che risultano sempre nelle chiavi di tipo string
. Sicuramente non un duplicato.Detterai (** kwargs) sempre un dizionario dove le chiavi sono di tipo stringa?
Metodo-1:
suit_values = {'spades':3, 'hearts':2, 'diamonds':1, 'clubs':0}
Metodo-2:
suit_values = dict(spades=3, hearts=2, diamonds=1, clubs=0)
Metodo-1 ha senso per me. È come dire a Python di darmi un dizionario in cui le chiavi sono stringhe e i valori sono numeri. Ma in Method-2, come fa python a sapere che le chiavi sono stringhe e non qualcos'altro?
È una tendenza? se è così, alcuni altri esempi (oltre ai dizionari) che mostrano questo tipo di comportamento?
EDIT-1:
mia comprensione dalle risposte è:
- Metodo-2 è il modo
dict(**kwargs)
di creare un dizionario. - In
spades=3
,spades
è un identificatore Python valido, per cui si è presa come una chiave di tipostring
.
Quindi, dict(**kwargs)
sarà sempre risultato in un dizionario, dove le chiavi sono di tipo string
?
EDIT-2: ^^ SÌ.
in realtà non ho ottenuto la parte "E gli argomenti della parola chiave possono essere passati solo con le stringhe come parametri". – Somjit
@Somjit Hmmm, ho modificato un po '. Spero sia chiaro ora. – thefourtheye
Ok. Ciò ha senso. Quindi gli argomenti delle parole chiave possono essere passati solo come stringhe. Ma dopo che sono passati, sono anche 'assorbiti' come stringhe, cioè memorizzati come oggetti di tipo stringa? La mia modifica pone questa domanda alla fine. – Somjit