Hirdetés

2024. május 3., péntek

Gyorskeresés

Hozzászólások

(#1901) cousin333 válasza Siriusb (#1889) üzenetére


cousin333
addikt

Tudtommal Amerikában már a Python az első számú tanulónyelv az egyetemeken.

1. Nem szoktam GUI-t készíteni. Általában Jupyter Notebook-ot használok. Ha mégis kellene (egyszer már kellett), akkor én a Qt-re szavaznék, a Qt Designer használatával. De igazából a többit nem nagyon ismerem. Ami szerintem lényeges kérdés: programozott GUI, vagy sima drag&drop (lásd a már említett Qt Designer). Nekem mindenképpen az utóbbi.

2. Anaconda + PyCharm Community Edition. Szerintem mindent tudnak, amit kell, még azt is, amit nem. Csomagok frissítése (magát a Python verziót is beleértve!), ill. tesztelés, modul készítés, integrált verziókövetés, scratch... stb.

[ Szerkesztve ]

"We spared no expense"

(#1902) Phobion


Phobion
őstag

Sziasztok!

Tudtok ajánlani Budapesten korrekt Python képzést? Nagyon érdekel a python nyelv, nagyon szeretnék szakmát váltani (junior sysadmin). Merre érdemes elindulni?
Előre is köszönöm! :R

Sci-fi, fantasy könyvek eladók: https://hardverapro.hu/apro/elado_sci-fi_fantasy_konyvek_4/hsz_1-50.html

(#1904) #78693120 válasza s1999xx (#1903) üzenetére


#78693120
törölt tag

A Masterfield szokott tartani, de nem olcsó. Nekem a cég fizette, különben nem mentem volna.

(#1905) Wmwinters01 válasza s1999xx (#1903) üzenetére


Wmwinters01
tag

Én is ezt kezdtem el olvasni, innen jött az ötlet, szerintem teljesen korrekt a könyv. Érdemes elolvasni.

Amúgy köszi mindenkinek a múltkori válaszokat, jó kis lendületet adott! :) :C

I`m not afraid to die, I just don`t want to be there when it happens.

(#1906) Phobion válasza s1999xx (#1903) üzenetére


Phobion
őstag

Köszönöm!
Ebből akkor is eltudok indulni ha nincs semmilyen programozási alapismeretem?

Sci-fi, fantasy könyvek eladók: https://hardverapro.hu/apro/elado_sci-fi_fantasy_konyvek_4/hsz_1-50.html

(#1908) axioma válasza s1999xx (#1907) üzenetére


axioma
veterán

meg az is kulonbseg kezdo feladatok szintjen hogy az int / int az float, az egesz osztas az int // int.

(#1909) kovisoft válasza axioma (#1908) üzenetére


kovisoft
őstag

Engem régebben a range() készített ki Python 3-ban, ugyanis itt már lazy módon értékelődik ki (csak akkor, amikor ténylegesen felhasználjuk az elemeit). Próbálgattam command promptban mindenféle range-eket, és csak ennyit írt ki:

>>> range(10)
range(0, 10)

Ugyanez Python 2-ben:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Python 3-ban pl. a list-tel lehet kikényszeríteni a kiértékelést::

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[ Szerkesztve ]

(#1912) kovisoft válasza s1999xx (#1911) üzenetére


kovisoft
őstag

Mármint mire nem jó példa? Aki a python 2-es range()-hez van szokva, vagy most ismerkedik a nyelvvel egy python 2-es könyv alapján, annak egy python 3 REPL-ben nem minden fog úgy működni, ahogy gondolná. Pont úgy, mint mondjuk ha python 2-es osztást vagy printelést akar csinálni python 3-ban.

(#1914) kovisoft válasza s1999xx (#1913) üzenetére


kovisoft
őstag

Ennyi erővel a print sem jó példa, mert python 3-ban a python 2-es print sem létezik. Arról volt eredetileg szó, hogy adva van egy python 2-es tankönyv, és milyen különbségek lehetnek a python 3-ra átállásnál. Aki tudja, hogy milyen különbségek vannak, annak nem okoz problémát, hogy megtalálja a 3-as megfelelőjét egy 2-es funkciónak. Aki nem nem tudja, az belefuthat majd a print, /, range, execfile, stb különbségekbe.

(#1915) AeSDé Team


AeSDé Team
őstag

Sziasztok!

Próbálok egy MVC modellre hajazó GUI alkalmazást létrehozni, és készítése közben bele futottam pár körkörös import problémába.
Van például egy controller.py fájlban lévő Controller osztályom, ami létrehoz egy app.py fájlban lévő App objektumot, és átad neki egy referenciát önmagára azért, hogy később az App osztály példánya tudjon információt kérni a Controller osztály példányától, és ne kelljen direktben az adatelérési réteghez fordulnia.

A program egyszerűsített vázlata:

controller.py:

from app import App

class Controller:
def __init__(self):
self.app = App(self)

def get_information(self):
return "some information"

app.py:

from controller import Controller

class App:
def __init__(self, controller: Controller):
self.controller = controller
print(self.controller.get_information())

Az app.py -ban található Controller import pusztán azt a célt szolgálja, hogy működjön PyCharm-ban a kódkiegészítés, és lássam a Controller osztály metódusait.
Emlékeim szerint Java nyelven simán megtehettem, hogy két osztály egymást importálja és egymásra hivatkoznak, persze egészen addig amíg nem írok végtelen ciklust. Pythonban hogyan érhetem el ugyan ezt a hatást? Azon kívül persze, hogy a két osztályt azonos .py fájlban helyezném el.

Amennyiben az app.py definíciójából kihagyom a Controller osztály importját, és a konstruktorában a controller paramétert nem típusosan adom meg, a probléma megszűnik. Én viszont szeretném ha meglenne az az import hogy kódkiegészítést kaphassak az objektumra, ezt milyen módon érhetném el?

[ Szerkesztve ]

(#1916) kovisoft válasza AeSDé Team (#1915) üzenetére


kovisoft
őstag

Az nem működik, hogy az App importját áthelyezed későbbre, csak amikor már ténylegesen szükség van rá? Erre gondolok:

class Controller:
def __init__(self):
from app import App
self.app = App(self)

(#1917) Siriusb


Siriusb
veterán

Ha azt vizsgálom, hogy egy adott szó benne van-e egy mondatban, függetlenül a kis- és nagybetűktől, létezik szebb és hasonlóan egyszerű megoldás annál, mint pl.:
if "abc" in "bla bbla ba ABC bla".lower(): ?

(#1918) EQMontoya válasza Siriusb (#1917) üzenetére


EQMontoya
veterán

Nem hiszem, ez szerintem teljesen korrekt.

Same rules apply!

(#1919) Siriusb válasza EQMontoya (#1918) üzenetére


Siriusb
veterán

Mindenáron szeretnék megadni valami kapcsolót, mint pl. egy grep esetén, nem hagy nyugodni ez megoldás, hogy át kell alakítani egy string-et. :D

(#1920) kovisoft válasza Siriusb (#1919) üzenetére


kovisoft
őstag

Használhatsz regex-et is (mondjuk szebb nem lesz tőle):

import re
if re.search(r"\babc\b", "bla bbla ba ABC bla", re.IGNORECASE):

A \b akkor kell, ha teljes szóra akarsz keresni ("word boundaries"), ha pedig kihagyod az utolsó IGNORECASE paramétert, akkor számítani fog a kis-nagybetű.

(#1923) Siriusb válasza kovisoft (#1920) üzenetére


Siriusb
veterán

Szívem szerint így használnám, ahogy írtad, viszont emiatt nem akarok modult importálni. Az egyszerűség győzött. :))

(#1921) s1999xx
Az elmúlt héten éppen pdf fájlok bizonyos tartalmi részeinek kinyerésével foglalkoztam, ott tapasztaltam a magyar ékezetes betűknél is galibát, pl ő-ből hullámos "õ" lett. Mondjuk szerencsém volt, mert meg tudtam írni úgy a regex-eket, hogy ezek a betűk kikerüljenek a képből, szóval nem kellett vele foglalkoznom.

(#1922) s1999xx
Jelen pillanatban angol szövegre használom, szóval a lower() a legegyszerűbb és legkevésbé erőforrás igényes megoldás.

Néha beleesek abba a hibába, hogy egy sorba akarom zsúfolni az adott kódrészletet, aztán belátom hogy a legegyszerűbb nem mindig a legrövidebb, ráadásul ha később percekig kell bámulni, hogy mit is csinál az a sor. :D Szóval van amikor jobb több sorban megvalósítani a célt, nem lehet az ember teljesen elvakult.

(#1924) EQMontoya válasza Siriusb (#1919) üzenetére


EQMontoya
veterán

Hat megoldhatod regex finddal is, de az sokkal koltsegesebb es rondabb is lesz. :)

Same rules apply!

(#1925) axioma válasza Siriusb (#1917) üzenetére


axioma
veterán

Btw az nem baj hogy ez nem szot keres csak resz-szot? Pont ezt meseltuk nemreg a kezdo pythonosok treningjen:), azert tunt fel. Mondjuk szerencsere a split-et mar tanultak es mazli hogy tok ugyanaz az "in" bar mas ertelmezessel pont lefedte az igenyt.

(#1926) kovisoft válasza axioma (#1925) üzenetére


kovisoft
őstag

Így van, én ezért tettem a "\b"-ket a regex-es példámba, hogy csak teljes szóra keressen.

(#1927) Siriusb válasza axioma (#1925) üzenetére


Siriusb
veterán

Ebben az esetben nem probléma, mert biztos, hogy csak egyféleképpen fog előfordulni a keresett kifejezés, szóval nem kell semmi huncutság. :)
Ha bonyolultabb lenne, biztos regex-et használtam volna. A split() be sem jött volna a képbe. :( Uh, van még mit tanulnom.

(#1929) Siriusb válasza s1999xx (#1928) üzenetére


Siriusb
veterán

Az útvonalból adódóan arra tippelek, hogy pip-pel telepítetted a pylint-et.

(#1931) cousin333 válasza s1999xx (#1928) üzenetére


cousin333
addikt

Én nem gyilkolásznám őket olyan könnyedén. Szerintem ezek a PyCharm részeként vannak itt, és arra szolgálnak, hogy a megírt kódodat ellenőrizzék.

"We spared no expense"

(#1932) Siriusb


Siriusb
veterán

Kösz, hogy említettétek a PyCharm-ot, kezdek egészen átszokni rá. Turkáltam kicsit a beállításokban, így már sokkal jobb, mert első ránézésre nem igazán jött be. Sőt, most már a Gtk kódkiegészítést is megoldottam némi keresgélés után, mert ennek hiánya hátrány volt számomra. Mondjuk azt nem értem, miért nem lehet jobbra-balra tologatni a sorokat, de ebbe beletörődök.

(#1934) EQMontoya válasza Siriusb (#1932) üzenetére


EQMontoya
veterán

Sortologatas: az ugye megvan, hogy a Python az indentalasbol ismeri fel a blokkokat a kodban? :)

Same rules apply!

(#1935) sztanozs válasza EQMontoya (#1934) üzenetére


sztanozs
veterán

Chuck Norrisnak nem kell indentálnia a python kódot, neki helyesen lefut anélkül is :DDD

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#1936) velizare válasza Siriusb (#1932) üzenetére


velizare
nagyúr

ahogy fentebb is írták, pythonban az indentálás a ";" :D pycharmban van auto-indentre is lehetőség, de csinálhatod manuálisan is. viszont azt igyekezz tartani, hogy mivel indentálsz: vagy space, vagy tab, a kettőt együtt ne használd!

Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.

(#1938) Siriusb válasza s1999xx (#1933) üzenetére


Siriusb
veterán

Nem, ez nem volt meg, mert a Move element left/right nálam inaktív, de a TAB-os megoldás tökéletes, kösz!

(#1934) EQMontoya
Óóó, én csak az esztétika miatt szoktam igazgatni, hogy amikor képernyőkímélőnek berakom a py fájlokat, akkor hasonlítson a Mandelbrot-halmazokhoz. :P

(#1936) cain69
Olyan esetre gondolok például, amikor nem használom a Surround with-et, csak beszúrok egy "if"-et és az alatta levő sorokat beljebb rendezném. Vagy fordítva.

(#1935) sztanozs
:P

(#1939) EQMontoya válasza s1999xx (#1937) üzenetére


EQMontoya
veterán

Igen, viszont szerintem tul sok, 3-4-5 melysegben mar olvashatatlan.
Ezert inkabb 2-re szoktam tabulalni.

Same rules apply!

(#1941) sztanozs válasza s1999xx (#1940) üzenetére


sztanozs
veterán

Ez mekkora :DDD
"""Return a foobang

Optional plotz says to frobnicate the bizbaz first.
"""

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#1942) kovisoft válasza EQMontoya (#1939) üzenetére


kovisoft
őstag

Ha sok a 4-5 mélységű blokk, akkor ott már nemcsak az indentálás miatt lesz olvashatatlan a kód. ;]

(#1944) EQMontoya válasza kovisoft (#1942) üzenetére


EQMontoya
veterán

Nyilvan, de egy member fuggvenyben egy dupla cikluson belul meg talan lehet egy if-else, ez talan nem ordogtol valo, es maris 4-nel jarunk. Szoval hamar megvan az, nem "AI"-t gondoltam irni (if if if if if if if else). :)

Same rules apply!

(#1945) sztanozs válasza s1999xx (#1943) üzenetére


sztanozs
veterán

bizba(s)z - úgy látom más nyelven is "értelmes kifejezés" (az egész mondat kb így hangzana magyarul):
Amúgy pedig először még megizéljük azt a bizbazt.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#1947) V.Stryker


V.Stryker
nagyúr

Sziasztok,

Az mitől lehet,hogy hiába telepítem fel Mac alatt a python 3.7.2-t, ha a terminálba beírom,hogy python --version, akkor a 2.7-et jelzi? :U

Organic Maps - ingyenes, offline navi iOS-re és Androidra.

(#1949) Janos46


Janos46
tag

Sziasztok!
Bocsi hogy itt írok, de olyant hogy debian fórum nem találok, hátha itt ért valaki. hozzá.
Vettem egy ASUS Tinker Board-ot, amin Debian 2170417-1.8V fut (ezt az asus közölte velem kérésemre).
Próbáltam feltenni rá magyar nyelvet, de sehol nem találtam hozzá. Kérdeztem az ASUS információs szolgáltatást, de ezidáig ők sem tudnak segíteni (akkor meg minek gyártanak és árusítanak olyant amihez nincs megfelelő háttér, bezzeg a Raspberry!!!!) Tudna valaki segíteni?
Üdv. János

Artillery, lelkes újonc vagyok, tanulni akarok!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.