Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Lalikiraly: Mercis kalandok - Huszonnyolcadik rész - Az újrakezdés
- Lalikiraly: Macbook NEO 2
- Gurulunk, WAZE?!
- MasterDeeJay: Intel Optane M10: mire lehet használni?
- creation: Elég lett abból, hogy a nagy gépeim nem képesek behúzni a filamentet
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz
Tigerclaw
#2579
üzenetére
A Python hivatalosan "multi paradigm", de az OOP erősen jelen van már az alapoknál. Tekintve hogy pl. az "egész szám" is egy osztály, saját metódusokkal... stb., inkább tekinteném olyan OO nyelvnek, ami nem tolja ezt az arcodba.
A Python alapvetően más, mint sok ismert nyelv, és ez az OO terén is megjelenik. Szerintem nagyon is használható OO nyelvként, nem hiányzik belőle semmi, csak bizonyos dolgokat máshogy kezel. Absztrakt osztályok vannak benne, öröklés szintén. Adatrejtés elve is benne van, de Raymond Hettinger szerint a Python egy "consenting adult" nyelv. Szóval nincs olyan, hogy privát változó (csak privát-szerű, lásd _a vagy __a), de a paramétereket, metódusokat szépen modulokba, fájlokba, osztályokba szervezheted, definiálhatsz osztályokat osztályokon belül... stb. Nekem eddig semmi nem hiányzott belőle a legfontosabb, hogy mindent úgy használj, ahogy megtervezték, és ne próbált a C++, Java stb. gondolatiságot beleerőltetni.
"mint egy klasszikus OOP nyelv"
És milyen lenne az a klasszikus OO nyelv?
Mint mondjuk a Java, ahol osztályok nélkül kb. mozdulni se tudsz? Vagy a C++ ami egy tuningolt C?"Dobálom ki a metódusokból a visszatérési értéket, az argumentum tipusokat"
Ami nem kell az minek is
Kb. mint a váltó, a kettős tömegű lendkerék meg a kipufogórendszer egy villanyautónál.nincs abstract osztály
De van, a célnak szerintem megfelel.
"nincs többszörös konstruktor"
De van. Lehet, hogy egy kicsit más jellegű, de lényegét tekintve ugyanaz.
"Muszáj vagyok commentbe tenni a listák, dictionaryk esetén, hogy milyen tipusra terveztem azokat."
Ez meg inkább csak egy rossz beidegződés, mint a C-s for ciklus:
for i in range(len(elemek)):print(elemek[i])vs.
for elem in elemek:print(elem)Pont az a lényeg, hogy nem előre kell típusra tervezni. Duck typing for president

"hogy tudok expliciten tipust kapcsolni a változókhoz"
Nem tudok ilyesmiről. Gondolom a type hint-re gondolsz, de az nem sokkal több, mint amit a neve sugall. Alapvetően azért van, hogy a statikus kódelemzők, meg az IDE-k működését segítse. Odaírhatod, hogy -> int, aztán visszatérhetsz egy szöveglistával

"Python namespace, scope, hogy aztán visszarakjam a láthatóságot a minimumra."
Engem meg pontosan ez a fene nagy titkolódzás zavar a többi nyelvbe. Csak arra jók, hogy mindent megbonyolítsanak, és elfedjék a komplexitásból következő problémákat. Egy rendes, jól strukturált Python programmal ezek jórészt kivédhetők, vagy eleve nem jelentenek gondot.
Tehát a lényeg, hogy a Python nagyon is OOP, a különbség nem a Python OOP és a többi OOP, hanem inkább a Python és a többiek között van. Nem akarom azt sugallni, hogy a Python minden megoldása van olyan jó, mint a többieké, vagy hogy mindent ugyanúgy megtehetsz, mint más nyelvekbe, de a saját logikája alapján jól működik, és szerintem elég jól meg van tervezve, a részek szépen összeillenek. Kivéve talán az enum, meg a switch-case...
Ezért is tűnik kicsit "veszélyesnek", ha 1:1-ben próbálod átfordítani a meglévő programodat. A Pythonnak nem csak a szintaxisa más, hanem a logikája is. Amúgy a Python is erősen típusos, próbálj csak meg összeadni egy sztringet meg egy számot.
Új hozzászólás Aktív témák
- One mobilszolgáltatások
- Digitális Állampolgárság Program DÁP
- No Rest for the Wicked - Közel a 2 millióhoz, a fejlesztők az 1.0-ra készülnek
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen monitort vegyek?
- Kerékpárosok, bringások ide!
- Samsung LCD és LED TV-k
- RAM topik
- Macska topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- További aktív témák...
- Legújabb Thinkpad T14 gen6 - Bontatlan + magyar! - Core Ultra 7 255U - 16/32GB - 512GB - Gyártói gar
- 96GB DDR5 ECC RDIMM 5600MHz szerver RAM
- Eladó AMD Ryzen 7 9700X, RTX 3070, 32GB 6000MHz DDR5, 1TB M.2, 850W +80 Gold Gamer PC!
- Dell Latitude 5411,14",FHD,i7-10850H,16GB DDR4,512GB SSD,2GB VGA,WIN11
- Dell Precision 7720,17.3",FHD,i7-7820HQ,16GB DDR4,256GB SSD,P3000 6GB VGA,WIN11
- Apple iPhone Air Black 256GB használt karcmentes 100% akku (20 ciklus) garancia 2026.12.20.-ig
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 128 GB-100%-3hó gari!
- iPhone 15 Pro 128GB 89% (1év Garancia)
- HIBÁS ÉRINTÉS NEM MEGY Surface Pro 8 i7-1185G7 16GB RAM 256GB SSD 5G LTE szép állapot
- Honor laptop i5-12500H / RTX 2050 / 16GB RAM / 512GB SSD / 2K kijelző Erős, prémium gép!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Mint mondjuk a Java, ahol osztályok nélkül kb. mozdulni se tudsz? Vagy a C++ ami egy tuningolt C?
Kb. mint a váltó, a kettős tömegű lendkerék meg a kipufogórendszer egy villanyautónál.