2011-01-13 10 views

Odpowiedz

10

Nie jestem pewien, wykresu, ale w zasadzie:

Zmienna:

list, dictionary, bytearray Uwaga: bytearray nie jest ciągiem chociaż.

Niezmienne:

tuple, str

Można sprawdzić zmienności z:

>>> import collections 
>>> l = range(10) 
>>> s = "Hello World" 
>>> isinstance(l, collections.MutableSequence) 
True 
>>> isinstance(s, collections.MutableSequence) 
False 

Dla słowniku (mapowania):

>>> isinstance({}, collections.MutableMapping) 
True 
+0

ta sprawdza, czy jest to Zmienna sekwencja - nie czy jest to obiekt zmienny. Dicts są wyraźnie zmiennymi obiektami, ale 'isinstance ({}, collections.MutableSequence)' jest fałszywe. –

+0

Tak, w przypadku dyktorów używany jest "MutableMapping". Nie wspomniałem, bo wziąłem przykład listy. Zaktualizuję to. – user225312

+0

To nie działa w przypadku zestawów. Chodzi mi o to, że 'kolekcje' nie powiedzą ci w ogólny sposób, czy obiekt jest zmienny czy niezmienny. –

Powiązane problemy