Non vi è alcuna differenza semantica tra '
e "
. È possibile utilizzare '
se la stringa contiene "
e viceversa e Python farà lo stesso. Se la stringa contiene entrambi, è necessario sfuggire ad alcuni di essi (o utilizzare le virgolette triple, """
o '''
). (Se entrambi '
e "
sono possibili, Python e molti programmatori sembrano preferire '
, però.)
>>> x = "string with ' quote"
>>> y = 'string with " quote'
>>> z = "string with ' and \" quote"
>>> x
"string with ' quote"
>>> y
'string with " quote'
>>> z
'string with \' and " quote'
Chi print
, str
e repr
: print
sarà stampa la stringa data senza le virgolette aggiuntive, mentre str
crea una stringa dall'oggetto specificato (in questo caso, la stringa stessa) e repr
crea una "stringa di rappresentazione" dall'oggetto (ovvero la stringa che include un insieme di virgolette). In poche parole, la differenza tra str
e repr
dovrebbe essere che str
è facile capire per l'utente e repr
è facile capire per Python.
Inoltre, se si immette un'espressione nella shell interattiva, Python emetterà automaticamente il risultato repr
. Questo può essere un po 'confuso: Nella shell interattiva, quando si esegue print(x)
, ciò che si vedere è str(x)
; quando usi str(x)
, quello che vedi è repr(str(x))
e quando usi repr(x)
, vedi repr(repr(x))
(quindi le virgolette doppie).
>>> print("some string") # print string, no result to echo
some string
>>> str("some string") # create string, echo result
'some string'
>>> repr("some string") # create repr string, echo result
"'some string'"
fonte
2016-02-16 09:34:01
Penso che il nome x sia collegato alla stringa "Questa è una nuova era". Quando ho chiamato ad esempio repr (x) l'iterpreter mette 'This is New era' invece di x e poi chiama repr ('This is New era'). –