Hirdetés
- Bemutatkozott a Poco X7 és X7 Pro
- Amazfit Active 2 NFC - jó kör
- Yettel topik
- Amazfit Bip 6 - jót olcsón
- Honor Magic6 Pro - kör közepén számok
- EarFun Air Pro 4+ – érdemi plusz
- Poco F8 Pro – titkos favorit lehet belőle
- Okosóra és okoskiegészítő topik
- Telekom mobilszolgáltatások
- Így nézhet ki a Huawei Pura 90
Ú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
idfü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 abké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 azintobjektum 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
bmá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
sztringobjektum, 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?
Új hozzászólás Aktív témák
- Sorozatok
- Kész, vége, ennyi volt: eladja tévés üzletágát a Sony
- Elektromos autók - motorok
- Háztartási gépek
- Köszöni szépen, de nem kéri az NVIDIA H200-at Kína
- Oh hi Mark: megreccsent a Metaverzum
- Milyen légkondit a lakásba?
- Bemutatkozott a Poco X7 és X7 Pro
- Viccrovat
- Amazfit Active 2 NFC - jó kör
- További aktív témák...
- Nzxt 510 Elite / i5-9600kf / 16gb rgb / Rtx 3060 12gb / 1,5 Tb ssd !!!!
- 8 ÉV GARANCIA! Seasonic Vertex PX 1200W 80 PLUS Platinum Full moduláris tápegység.
- GIGABYTE GeForce RTX 5080 AORUS MASTER 16GB GDDR7 256bit 3+1 év Alza garancia
- NZXT Kraken 360 (RL-KN360-B1) GARANCIA MÉG 50 HÓNAP!
- Samsung Galaxy tab A8 SM-X200 10,5 " tablet
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- REFURBISHED és ÚJ - HP USB-C Dock G5 (5TW10AA) - 3x4K felbontás
- BESZÁMÍTÁS! MSI B450M R5 5600X 16GB DDR4 512GB SSD RX 7700 XT 12GB Lian Li Lancool 217 fehér CM 700W
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest
Kár, hogy sajnos nem teljesen igaz... 


