Ú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]
-
axioma
veterán
válasz
DrojDtroll
#1296
üzenetére
Ha megis nx3-as tombot (listat) szeretnel, es mar tudjuk hogy a vector-odra muxik a list extend, en eloszor is (try&error, fuj...) megprobalnam igy:
locs[i-start_frame]= list(cam.location)
Aztan lehet hogy nem jo, akkro turj bele abba a cam.location-be, pontosabban a vector-jaba, hogy mirol mire tud konvertalni, konvertalodni. -
válasz
DrojDtroll
#1300
üzenetére
Az append egy tömböt tömbként illeszt be, az extend kibővíti az első tömböt a másodikkal:
a = [1, 2, 3]
b = [4, 5]
a.append(b)
[1, 2, 3, [4, 5]]
a.extend(b)
[1, 2, 3, 4, 5] -
KEAN
tag
válasz
DrojDtroll
#1298
üzenetére
Nem vagyok benne 100% biztos, hogy működni fog, nem tudom, hogy ez
cam.locationpontosan mi akar lenni, de a 3appendhelyett megpróbálhatod ezt:locs.extend(cam.location) -
cousin333
addikt
válasz
DrojDtroll
#1296
üzenetére
Hogy néz ki most a kód? És ha simán a
cam.location-tappend-eled? Tehát egyben, nem elemenként?Ha már Python, az utolsó két sor meg legyen:
for loc in locs:
print(loc)A jelenlegi megoldástól feláll a szőr a hátamon. Ez nem C...

ui: Ide is simán beszúrhatod a példakódokat, nem kell hozzá külön szolgáltatás. Persze ne az egészet, csak a lényeget.
-
axioma
veterán
válasz
DrojDtroll
#802
üzenetére
Hat valassz masikat... ahol nem is szamit a nyelv, vagy csak az, hogy ingyenes forditoja legyen.
Mo-on, csapatverseny, ch24.org, igaz ott azert gyakorlott programozok is vannak (de a magyar versenyen ilyen atkepzos iskolak diakjai is indultak, dontoztek). Azt netto pythonnal toltuk vegig, de a kod nem is kell, csak az eredmeny. A google codejam meg face hackercup is egyeni online (a dontorol most ne beszeljunk), ott az eredmeny mellett a kodot is kerik de majdnem barmiben, python teljesen jo. Ill. nemreg futottam bele hackerearth, me'g online kodszerkeszto es szerveroldali forditas/futtatas is van python 2.7.6 es 3.2-re is.
Az a baj, hogy inkabb tul sok ilyen versenyes hely van, nem merem a kapott listat megnyitni, igy is kicsit tul sok idot toltam az utobbi hetekben - honapokban bele. -
sonar
addikt
válasz
DrojDtroll
#735
üzenetére
Nekem simán megy firefox alatt
(linux mint 17.3 + FF 47.0) -
EQMontoya
veterán
válasz
DrojDtroll
#736
üzenetére
Popen nevű hívást nézd meg!
-
DrojDtroll
veterán
válasz
DrojDtroll
#734
üzenetére
Chrome alatt szépen muzsikál

kicsit belefeledkeztem már várom mikor lesz benne valami kihívást jelentő dolog.
egyébként jó koncepció
-
Noddy
senior tag
válasz
DrojDtroll
#724
üzenetére
-
cousin333
addikt
válasz
DrojDtroll
#719
üzenetére
-
cousin333
addikt
válasz
DrojDtroll
#694
üzenetére
Típushibára

Kattints rá a linkre (vagy keresd meg a kérdéses fájlok kérdéses sorát), hogy lásd, mit csinál. Én ennyi infóból azt mondanám, hogy a
MediumMotor()osztály példányosításakor lefut az__init__()függvény, ami valamit inicializálna, pl. egy szótár változóból (dictionary) olvasna ki egy elemet, de a szótár helyett egyNone-t kap. Nem lehet, hogy valamilyen paramétert kéne átadni az osztálynak?Mod: a válasz elvileg nem. Én ezt találtam: [link], bár gyanítom, hogy ez a kód nem teljesen ugyanaz a verzió, mint a tied, mert ennek a sornak le se szabadna futnia, max a 334-től kezdve, de szerintem abban sem indokolja semmi ezt a hibát.
-
cousin333
addikt
válasz
DrojDtroll
#692
üzenetére
Tehát ha jól értem, egy virtuális környezethez volt fenn a modul (nem használtam még a
virtualenv-et), indításkor viszont a normál környezet futott, ami persze nem látta.Úgy látom reszeltek a programkód beágyazáson. Színes meg minden...
-
cousin333
addikt
válasz
DrojDtroll
#683
üzenetére
Ennyi erővel már a konkrét problémát is beírhattad volna ide

Ez olyan "Megkérdezhetem, hogy mennyi az idő? Persze, kérdezd csak meg nyugodtan!" típusú hozzászólás volt.

-
Noddy
senior tag
válasz
DrojDtroll
#683
üzenetére
Ez itt inkább programozós topic, lehet a linuxosban több sikerrel jársz. Nekem ubuntura a sima
sudo apt-get install python3paranccsal gond nélkül felment. -
EQMontoya
veterán
válasz
DrojDtroll
#619
üzenetére
Az, hogy a modulod hivatkozik egy másikra, ami még nincs meg neked.
Olvasd el a hibaüzit.
-
cousin333
addikt
válasz
DrojDtroll
#571
üzenetére
Pont ma néztem meg, hogy milyen lehetőségek vannak (bár elsősorban a kódfuttatás érdekelt). De kb. ennyi.

-
DrojDtroll
veterán
válasz
DrojDtroll
#564
üzenetére
.split() maradt ki a fájl beolvasása után

-
EQMontoya
veterán
válasz
DrojDtroll
#550
üzenetére
Nem.
Sok okból nem, de talán a legfőbb, hogy a cmd csak akkor adja át az argumentumot a programodnak, amikor lenyomod az entert. Tehát addig semmilyen interakciót nem tudsz létrehozni.
A google és hasonló megoldások (intellisense pl.) nyilván eventek alapján működnek egy adott kódon belül.
Egyébként az autocomplete egy elég bonyolult dolog, ha nem vagy túlzottan gyakorlott programozásban, akkor elég komoly fába vágtad a fejszét.
Címkereséshez írtunk anno smartkeyboardod (gyakorlatilag ugyanaz a lényeg, mint itt: csak azokat a billentyűket hagyni aktívan, amelyekkel folytatódhat a cím), és ez rohadtul nem egy triviális dolog. -
cousin333
addikt
válasz
DrojDtroll
#542
üzenetére
Én mondhatni friss szoftver mániás vagyok, ezért nálam a 3-as a nyerő, mert sok mindent rendbe szedtek, ami korábban kicsit szét volt csúszva: pl. range vs xrange, zip vs izip. Valahogy koherensebbnek tűnik az egész. Ma már minden tisztességes modulból találhatsz Python3-as verziót, szóval szerintem ez sem lehet kifogás.
A 2-es viszont kiforrottabb (bár így a 3.5 megjelenése után már ezt sem feltétlenül mondanám) és még mindig elterjedtebb. Ha korábbi kódot kell kiegészíteni, akkor egyértelmű a választás.
Ami nem tetszik annyira a 3-asban, az a sztring-bájt szétválasztás és a print függvény, bár nyilván mindkettőt jó okkal változtatták meg.
-
sonar
addikt
válasz
DrojDtroll
#542
üzenetére
Igazából tök mindegy. Az élet dönti el, hogy ki mit használ. Én speciel rá vagyok kényszeritve a 2.7-re (esetenként 2.5,2.4) De haladni kell a korral ezért ha lehetséges akkor meg meg próbálkozom a 3-assal.
-
EQMontoya
veterán
válasz
DrojDtroll
#530
üzenetére
Ha létrehozol egy datetime objektumot, akkor a default year 1900. Tehát ha február 29-et próbálsz létrehozni, az exception, mert 1900 feb. 29 ugye invalid. (100 évente nincs szökőév, és 400 évente van).
Fix: ha Febr. 29 az input, és üres az év, akkor 1904 a default year.

-
cousin333
addikt
válasz
DrojDtroll
#517
üzenetére
Van, több is. Attól is függ, hogyan akarod használni a Python-t.
1. kódszerkesztő (nagyobb programokhoz)
Spyder - talán az egyik legsokoldalúbb, noha nem hibátlan
PyCharm (Community Edition) - talán az egyik legkomolyabb
Ninja IDE - aranyos, de úgy látom, már nem fejlesztik2. interaktív: parancssorból, soroként (mint az IDLE)
Spyder
IPython - A Spyderben is van ilyen interpreter3. kódblokkonként, újra futtathatóan:
IPython Notebook (újabban Jupyter Notebook) - elsősorban kísérletezésre, adatfeldolgozásra, prezentációra. Demo -
sonar
addikt
válasz
DrojDtroll
#517
üzenetére
Kódszerkesztésre én ezt a hármat próbáltam és kb az alábbi sorrendben használom windows alatt.
- Notepad++ python ident plugginnal (céges környezetben ahol sok a policy meg minden ez a legegyszerűbb)
- Spyder
- Visual Studio + Iron Python modulLinux alatt
- Spyder
- Geany -
cousin333
addikt
válasz
DrojDtroll
#515
üzenetére
Nem csak téged. Ezért (sem) használok IDLE-t...

-
cousin333
addikt
válasz
DrojDtroll
#487
üzenetére
Bevallom, ezen a téren nem vagyok képben, de számomra akkor a fájl alapú megosztás tűnik kézenfekvőnek. Nem használtam ugyan, de én a pickle modul körül nézelődnék.
-
cousin333
addikt
válasz
DrojDtroll
#484
üzenetére
Mit csinálnak a szkriptek? Az egyik szkript (vagy egy harmadik) importálja be a másikat. Esetleg egy fájlba összevonni a kettőt.
Vagy valami fájl objektumon keresztül tegye közzé a kérdéses változókat.
Új hozzászólás Aktív témák
- alza vélemények - tapasztalatok
- Star Citizen
- Ilyen olcsó sem volt még egy Apple notebook
- Milyen program, ami...?
- exHWSW - Értünk mindenhez IS
- Gitáros topic
- Milyen TV-t vegyek?
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- TCL LCD és LED TV-k
- OLED monitor topic
- További aktív témák...
- iPhone 13 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS4651
- Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- MacBook felváráslás!! MacBook, MacBook Air, MacBook Pro
- HIBÁTLAN iPhone 15 Pro 128GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4401
- iPhone 17 Pro 256 GB Silver - Bontatlan !! www.stylebolt.hu - Apple eszközök - Számlás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



