Kirjoittaja Aihe: Python @-merkki ja keskusteluryhmä  (Luettu 2069 kertaa)

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Python @-merkki ja keskusteluryhmä
« : 05.02.12 - klo:14.42 »

Opettelin tässä vähän pythonia verkosta, mutta @-merkin tarkoitus ei millään selvinnyt. Onkohan se joko pythonin varattu operaattori tms.

Tämä ei ehkä ole oikea paikka python-keskustelulle, mutta enpä tiennyt muutakaan. Jos on olemassa joku tällainen python-foorumi, niin kyllä varmaan osallistuisin siihen, eli vinkit ovat tervetulleita.

Teele

SuperOscar

  • Käyttäjä
  • Viestejä: 4065
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Python @-merkki ja keskusteluryhmä
« Vastaus #1 : 05.02.12 - klo:15.14 »
Kyseessä on ns. ”decorator”, en tiedä mitä lienee suomeksi. Sen avulla voi mm. luoda luokkaan staattisen metodin Pythonin versiosta 2.4 alkaen.

http://docs.python.org/faq/programming.html#how-do-i-create-static-class-data-and-static-class-methods
« Viimeksi muokattu: 05.02.12 - klo:15.16 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Python @-merkki ja keskusteluryhmä
« Vastaus #2 : 05.02.12 - klo:21.27 »
Tässä on pari hyvää artikkelia joissa kerrotaan noista dekoraattoreista (suomennos on kai "koristelija").

http://www.artima.com/weblogs/viewpost.jsp?thread=240808
http://www.artima.com/weblogs/viewpost.jsp?thread=240845

Lyhyesti sanottuna kyse on siitä että voit luoda funktioita jotka luovat uusia funktioita, ja näiden avulla sitten muokata haluamiesi funktioiden toimintaa, ja tämä @-merkki on siisti merkintätapa kun näitä funktioita luovia funktioita haluaa käyttää. Koko ajatus voi olla aluksi hieman vieras jos ei ole esim. tutustunut funktionaaliseen ohjelmointiin, eikä näiden koristelijoiden käyttö ole useimmissa tapauksissa mitenkään välttämätöntä, ilmankin pärjää pitkälle.

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Vs: Python @-merkki ja keskusteluryhmä
« Vastaus #3 : 05.02.12 - klo:21.37 »

Kiitos hyvästä selvityksestä!

Ehkä tosiaan vielä ei ole "koristeiden" aika, täytyy saada vähän kokemusta kielestä ensin. Esimerkkikoodissa vain vilahteli noita @-merkkejä, ja olisivathan ne voineet olla vaikka miten tärkeitä, kun ei ollut pienintäkään aavistusta siitä, mitä ne olivat.

Teele