Kezdőoldal » Számítástechnika » Programozás » A "comprehension"-nek mi a...

A "comprehension"-nek mi a magyar fordítása, ha Pythonról van szó?

Figyelt kérdés

Példa comprehensionre:

powers_of_two = [2**n for n in range(1, 6)]



#angol #Python #comprehension
2013. júl. 24. 12:56
1 2
 1/11 iostream ***** válasza:
75%
Miért akarod lefordítani? Ha muszáj lenne magyarul mondanom egy olyan kifejezést, amit angolul fogsz megtalálni mindenhol, akkor is lista generátornak hívnám. Ez legalább utal a másik hasonló dologra, a generátor kifejezésekre.
2013. júl. 24. 13:35
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

Nem feltétlenül akarom lefordítani, csak kíváncsi voltam valaki már megtette-e.

Igazából azt se értem, hogy angolul miért comprehensionnek hívják ezt a szerkezett.

2013. júl. 24. 15:56
 3/11 anonim ***** válasza:

Egy magyar helyen "listafeldolgozó" néven említik.

[link]

2013. júl. 24. 17:00
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:

Én ennek már próbáltam utánajárni, és nincs bevett megfelelője. A magam részéről a listaképzést használom és próbálom terjeszteni, mert kifejező.

iostream megoldásával azért nem értek egyet, mert a generátor szónak másik (és ettől nem is távoli) jelentése van a Pythonban, nem helyes összemosni őket.

2013. júl. 25. 06:56
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:

Még két gondolat:

* Magyar szakkifejezéseket, szaknyelvet teremteni helyes dolog, kétszáz éve erre tették fel az életüket az őseink. Mindig mindent lefordítani nem lehet a mai világban, de azért törekedni kell rá. A programozásnak VAN magyar szaknyelve, a fontos és állandónak látszó fogalmakat érdemes lefordítani. Ha használni kezdik a fordítást, már nem csak angolul fogsz találkozni vele mindenhol.


* A listaképzés _alapvetően_ különbözik a listaképzéstől. Önmagában egy ciklust helyettesít, egyetlen utasítássorban lezárt egészet alkot, egy kész lista az eredménye. (Ugyanez a comprehension módszer más adatszerkezeteknél is működik a Pythonban, de kétségtelenül a listánál használjuk a legtöbbet.) A generátor pedig olyan _függvényt_ jelent, amely egyedi értékeket ad vissza, és ezt az értéket csak ciklusban tudjuk felhasználni. Nagyon szerencsétlen dolog volna ezeket összekeverni, nem segítené a fogalmi tisztánlátást.

(Iostream, bocs, ez volt az első eset, amikor piros kezet adtam egy válaszodra, ennél jobbakat szoktál te írni.)

Az előző vagyok.

2013. júl. 25. 07:05
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

Értelemszerűen:

A listaképzés _alapvetően_ különbözik a listaképzéstől.

helyett

A listaképzés _alapvetően_ különbözik a generátortól.


Mint tudjuk, a programozó olyan szerkezet, amely a kávét alakítja át programkóddá, és a kávé még előttem áll. :-)

2013. júl. 25. 07:08
Hasznos számodra ez a válasz?
 7/11 iostream ***** válasza:

Biztos feltűnt, hogy én is utaltam a generátorokra, és pont azért használnám a generátort ebben is, mert teljesen hasonló téma. Te nagyon technikai szemszögből közelíted meg a dolgot: szerinted az egyik egy lista, a másik meg egy függvény. Szerintem a Python pont nem ezt a filozófiát támogatja. Mindkettő egy bejárható objektum. Valami, amin végig lehet menni. A lista egy speciális esete a bejárhatónak, a generátor pedig a legalapvetőbb, on demand fajta.

Nem véletlen, hogy Pythonban az, hogy x = X() nem mondja meg, hogy X egy típus vagy egy függvény, nem véletlen, hogy azonos a szintaxis. Ezt hívjuk absztrakciónak, elfedjük a részleteket.

2013. júl. 25. 09:51
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

Mindkettő bejárható, de míg a generátor lényegében csak a bejárást teszi lehetővé és alapvetően csak ciklussal használható értelmesen, a lista ennél sokkal többféle módon és rugalmasabban használható.

Kicsit filozofikusan azt mondanám, hogy a generátor csak egy _lehetőség_, nem aktuálisan létező valami. Nem kérhetem le az ötödik generált elemet direktben, nem kérdezhetem meg, hány elemet fog előállítani. Ő maga sem tudja előre. Egyébként egy csodálatos lehetőség, én nagyon szeretem, de nagyon másnak látom, min a listát, ami egy sokkal klasszikusabb adatszerkezet, más adatszerkezetekbe könnyedén konvertálható oda-vissza, rendezhető, szeletelhető... Vagyis aktuálisan létező és megfogható. Ha már az angol kifejezések iránti rajongásnál tartunk, nem véletlen, hogy az eredeti név sem utal a generátorokra. A listaképzés egy legóművelet, amivel előállítunk egy összetettebb részelemet.

2013. júl. 25. 10:01
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Köszönöm mindenkinek a hozzászólást. Őszintén szólva nem számítottam rá, hogy értelmes válaszok érkeznek, arra meg végképp nem, hogy ilyen alaposan sikerül körüljárni a témát.

A magam részéről egyértelműen a "listaképző" (halmazképző, szótárképző) fordítást tartom a legjobbnak, ezt is fogom használni.

1, Tényleg utal a comprehension lényegére, nem úgy mint a "listafeldolgozó".

2, Egyedi és nem keverhető össze más közeli fogalmakkal, nem úgy mint a generátor.


Minden választ hasznosnak értékeltem, ment a zöld kéz, ha ez számít valamit.

2013. júl. 27. 13:49
 10/11 iostream ***** válasza:
És akkor a generátor kifejezés meg generátorképző? :)
2013. júl. 27. 13:56
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!