- Riasztó topik
- Amlogic S905, S912 processzoros készülékek
- OLED TV topic
- LG 34GS95QE-B: OLED paneles, ívelt gamer monitor
- Alacsony fogyasztású, 128 GB-os szervermemóriát kínál a Micron
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Milyen billentyűzetet vegyek?
- Intel Core i5-7640X / i7-7740X "Kaby Lake-X" és i9-7xxx "Skylake-X" (LGA2066)
- Megbírságolták a Razert a Zephyr maszkok miatt
- Hogy is néznek ki a gépeink?
Hirdetés
-
Mindent megtudtunk az új Nokia 3210-ről
ma Részletes képek, specifikációk és euróban megadott ár is van a legendás modell újraélesztett verziójához.
-
Mozgásban az F1 24
gp A Forma 1 versenyek rajongói hamarosan végre belevethetik magukat az idei epizódba.
-
Letartóztatták a bitcoin-Jézust
it Amerikai adókerülés vádjával, Spanyolországban tartóztatták le a bitcoin-Jézusként ismert Roger Vert.
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz Tigerclaw #824 üzenetére
Ugye milyen jó? Kár, hogy sajnos nem teljesen igaz...
Szóval kicsit utána olvasgattam és az jött le nekem, hogy egyes típusok azért immutable-k, mert csak (nyilván emögött van elgondolás, az immutable objektum kb. olyan, mint valami konstans).. Nézzünk pár példát (az
id
függvény az adott objektum memóriabeli kezdőcímét adja vissza):>>> a = [1, 2, 3]
>>> id(a)
2238629696072
>>> id(a[0])
1970405872
>>> id(a[1])
1970405904
>>> id(a[2])
1970405936
>>> type(a)
<class 'list'>
>>> type(a[0])
<class 'int'>
>>> b = (1, 2, 3)
>>> id(b)
2238629604520
>>> id(b[0])
1970405872
>>> id(b[1])
1970405904
>>> id(b[2])
1970405936A fenti esetben létrehoztam egy listát (
a
) és egy tuple-t (b
), mindkettőt ugyanazzal a három elemmel. A címeket kiolvasva a következő megállítások tehetők:- az
a
és ab
két külön objektum, egymástól viszonylag messze
- mindkettő elemeiint
-ek és az elemek ugyanarra a memóriaterületre mutatnak!
- magyarul csak egy darab 1-es van a memóriában, és mind a lista, mind a tuple ugyanarra hivatkozik
- úgy tűnik azint
objektum tárolására 32 bájtot használ a rendszer>>> b[1] = 4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> a[1] = 4
>>> id(a)
2238629696072
>>> id(a[0])
1970405872
>>> id(a[1])
1970405968
>>> id(a[2])
1970405936
>>> id(b[1])
1970405904
>>> id(b[2])
1970405936Itt azt látjuk, hogy a
b
második elemét nem engedi módosítani (hiszen az egy tuple eleme), aza
-ét viszont igen, noha mindkettő ugyanarra az elemre mutatott! Ha a lista módosítása után is megnézzük a címeket, akkor azt látjuk, hogy az 1, 2 és 3 a "helyén" maradt, viszont a rendszer létrehozott egy új, 4 értékűint
-et és aza[1]
már erre hivatkozik.>>> c = "szoveg"
>>> id(c)
2238629677408
>>> for x in c:
... print(id(x))
...
2238534181640
2238539112832
2238534182144
2238538540512
2238534181696
2238538838680A harmadik példa egy
sztring
objektum, aminek az elemei a memóriában nem egymás mellett, hanem elszórtan helyezkednek el. Ellentétben azzal, amit korábban írtam.Python data model: "The value of some objects can change. Objects whose value can change are said to be mutable; objects whose value is unchangeable once they are created are called immutable."
ui: csak nekem tűnik randomnak a Programkód kapcsoló hatása?
[ Szerkesztve ]
"We spared no expense"
Új hozzászólás Aktív témák
- Xiaomi Redmi Buds 3 Lite, Vezeték nélküli fülhallgató, Fekete + szilikon védőtok
- Star Wars - Az eredeti trilógia - DVD kiadás (2022)
- Corsair 110Q ATX Gépház Eladó!
- Dell Latitude 3410 Quad Core i5- i5-10210U 10 generációs laptop 8 GB DDR4 SSD jó akkumulátor
- Star Wars - The Rise of Skywalker - 4K UltraHD Steelbook kiadás
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest