Hirdetés
- Kormányok / autós szimulátorok topikja
- OLED TV topic
- Videószerkesztés
- CES 2026: felcsavarta az AI-t az AMD, de örülhetnek a játékosok is
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- SSD kibeszélő
- Apple asztali gépek
- Asztrofotózás
- Internet Rádió építése (hardver), és programozása
Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
DrojDtroll
#2696
üzenetére
Általánosságban nem tudod ezt megtenni, csak ún. mutable adattípusokra, mint pl. lista, dictionary. A példád pont menni fog, ha b egy objektum, akkor annak egy attributumát tudod módosítani egy függvényben (de nem tudod lecserélni magát az objektumot):
>>> class myclass:
... def __init__(self, initc):
... self.c = initc
...
>>> x = myclass('semmi')
>>> x.c
'semmi'
>>> def a(b):
... b.c='valami'
...
>>> a(x)
>>> x.c
'valami'De ez nem fog minden adattípusra működni. Úgy kell elképzelni, hogy pythonban nem olyan változók vannak, amiknek - ahogy a nevük is jelzi - változhat az értékük (mint pl. C-ben), hanem sokkal inkább címkék. Ugyanis amikor egy változónak új értéket adunk, akkor igazából átcímkézzük azt, hogy egy új értékre mutasson. Legalábbis ez igaz, az ún. immutable típusokra (számok, stringek, stb). Ha egy ilyen változót átadsz egy függvénynek, majd a függvényen belül változtatod az értékét, akkor igazából a paraméter változót címkézed át az új értékre, de ennek nincs hatása az eredeti változóra, amit átadtál a függvénynek.
Nincs olyan nyelvi módosító elem, hogy egy változót érték vagy referencia szerint adhass át. A függvény paraméterek mindig érték szerint vannak átadva, de mutable típusoknál az objektum referencia van érték szerint átadva.
-
cousin333
addikt
válasz
DrojDtroll
#2696
üzenetére
Miért, amit írtál, nem így működik? [link]
Új hozzászólás Aktív témák
- Lenovo L13 Core I3-10110U / 4GB DDR4 / LAPTOP 2
- LG 65B3 -65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- BESZÁMÍTÁS! ASRock X870 R9 7950X3D 32GB DDR5 1TB SSD RTX 4090 24GB Be quiet Pure Base 501 LX white
- ÚJ BONTATLAN Apple Macbook Air 15,3 M4 10C CPU/10C GPU/16GB/256GB - Égkék - HUN - mc7a4mg/a 3 év gar
- AKCIÓ! LG UltraFine 27" 5K IPS 99% DCI-P3 1 év garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


