Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Te hány éves vagy?
- hcl: Amúgy mi a terv?
- arabus: 256GB-os DDR5 memóriamodul 5700 USD.
- Geri Bátyó: Agglegénykonyha különkiadás – Bors
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- MasterDeeJay: Érdekesség: 16GB-os DDR3 sodimm modul asztali gépben
- bambano: Bambanő háza tája
Ú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
- Bittorrent topik
- OLED TV topic
- HiFi műszaki szemmel - sztereó hangrendszerek
- Sütés, főzés és konyhai praktikák
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Arc Raiders
- Eredeti játékok OFF topik
- Külföldi rendelések: boltok, fizetés, postázás
- Google Chrome
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Apple iPhone 15 Plus 128GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Precision 5570 4K+ OLED Touch / i7-12800H 14C / 16-32G / 512G / RTX A2000 8G / IR FPR WS
- Dell Precision 7560 FHD / i7-11850H / 32G / 512G G4 / RTX A4000 8G / SCR WS tervező
- Alienware 16 Aurora - 16" 2560x1600 120Hz, Intel Core 7 240H, RTX 5060, beszámítás!
- Alpenföhn Ben Nevis processzorhűtő
- Készpénzes / Utalásos Videokártya és Hardver felvásárlás! Személyesen vagy Postával!
- Eladó Pegatron R7 240 4GB videokártya
- Új AKRACING CORE EX gamer szék
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Kár, hogy sajnos nem teljesen igaz... 

