W python 3.5, czy można przewidzieć, kiedy otrzymamy internowany ciąg znaków lub kiedy otrzymamy kopię? Po przeczytaniu kilku odpowiedzi związanych z przepełnieniem stosu w tym wydaniu znalazłem this one najbardziej przydatne, ale wciąż nie wyczerpujące. Niż Spojrzałem na Python docs, ale interning nie jest gwarantowana domyślnieJakie są reguły interakcji ciągów cpython?
Normalnie, nazwy stosowane w programach Pythona są automatycznie internowany i słowniki używane do przechowywania modułu, klasy lub instancji atrybuty zostały internowane klawiatura.
Więc moje pytanie jest o wewnętrznych intern()
warunkach, czyli podejmowania decyzji (czy stażysta Łańcuch znaków lub nie): dlaczego ten sam kawałek kodu działa w jednym systemie, a nie na inny i jakie zasady zrobił autor w odpowiedzi na mentioned topic myśli, gdy mówią
zasady, kiedy to nastąpi są dość zawiłe
Po prostu użyj '==' i zapomnij o tym. W każdym razie jest to szczegół implementacji. – wim
@erip Wierzę, że OP jest tego świadomy. Po przejściu przez płytę główną, pytanie to wydaje się pytać o zasady interwencji. – timgeb
Jeśli naprawdę chcesz poznać różnice w implementacji, prawdopodobnie byłoby sensowne określenie wersji Pythona zainstalowanych w obu systemach. –