stanford-oval/wikipedia huggingface dataset:
Python (ohjelmointikieli)
Oliopohjainen ohjelmointi Pythonissa

Python tukee oliopohjaista ohjelmointia (OOP), joka on ohjelmointiparadigma, jossa keskitytään objektien ja luokkien käyttöön. Tämä lähestymistapa on yleinen monissa ohjelmointikielissä. Pythonin avulla ohjelmoijat voivat luoda olioita käyttäjän määrittämien luokkien perusteella. Luokat määritellään Pythonissa class-avainsanalla, ja ne toimivat suunnitelmina olioille, jotka voivat sisältää ominaisuuksia (attribuutteja) ja toimintatapoja (metodeja).
Esimerkiksi:
class Ajoneuvo:
    def __init__(self, merkki, malli):
        self.merkki = merkki
        self.malli = malli
    
    def esittele(self):
        return f"Tämä on {self.merkki} {self.malli}."
Yllä olevassa esimerkissä `Ajoneuvo`-luokka sisältää konstruktorin `__init__`, joka asettaa auton merkin ja mallin. `esittele`-metodi puolestaan tulostaa tiedot ajoneuvosta.
Oliopohjaisen ohjelmoinnin (OOP) etuna on erityisesti koodin uudelleenkäytettävyys ja modulaarisuus.
Oliopohjainen ohjelmointi Pythonissa > Periytyminen Pythonissa

Periytyminen on OOP:n keskeinen ominaisuus, joka mahdollistaa uuden luokan määrittämisen olemassa olevan luokan pohjalta. Python tukee periytymistä, jossa aliluokka voi periä yliluokan ominaisuudet ja metodit. Tämä mahdollistaa olemassa olevan koodin uudelleenkäytön ja helpottaa ohjelman laajentamista ja ylläpitoa.
Esimerkki periytymisestä:
class Polkupyora(Ajoneuvo):
    def __init__(self, merkki, malli, vaihteet):
        super().__init__(merkki, malli)
        self.vaihteet = vaihteet

    def esittele(self):
        return f"Tämä on {self.merkki} {self.malli} polkupyörä, jossa on {self.vaihteet} vaihdetta."
Tässä esimerkissä `Polkupyora`-luokka perii `Ajoeneuvo`-luokan ominaisuudet ja metodit, mutta lisää siihen oman `vaihteet`-attribuutin ja muokkaa `esittele`-metodia kertomaan myös vaihteista.
ajoneuvo1 = Ajoneuvo("Toyota", "Corolla")
print(ajoneuvo1.esittele())

pyora1 = Polkupyora("Tunturi", "XC", 7)
print(pyora1.esittele())
Tässä esimerkissä luodaan `Ajoneuvo`-olio ja `Polkupyora`-olio, ja molempien `esittele`-metodit tulostavat niille ominaiset tiedot.
Rakenne

Pythonissa kaikki rakenteet määritellään objekteina, joilla on identiteetti (id()), tyyppi (type()) ja arvo. Objektin tyyppi kertoo, millaisia operaatioita se sallii ja mitä arvoja se voi saada. Identiteettinä toimii CPython-toteutuksessa objektin osoite muistissa.
Rakenne > Paketit ja moduulit

Korkeimmalla hierarkian tasolla Python-ohjelmat muodostuvat paketeista ja moduuleista. Paketit ovat erityisiä moduuleja, jotka vastaavat tiedostojärjestelmän kansioita, siinä missä varsinaiset moduulit vastaavat tiedostoja näissä kansioissa. Moduuleihin viitataan tiedostopolun tavoin mallillaimport paketti.alipaketti.moduuli as mdl ja niillä on attribuutteja kuten __name__ ja __file__. Tavallisia paketteja voidaan määritellä lisäämällä kansioon__init__.py-niminen tiedosto, jolloin Python tulkitsee tämän kansion Python-paketiksi ja kansiossa olevat Python-tiedostot moduuleiksi. Python-skriptin ajon aloittava moduuli saa nimen__main__ (eli__name__ == "__main__" on totta).
Rakenne > Luokat ja funktiot

Python-tulkki ajaa ohjelmat blokkeina yhdessä kehyksessä kerrallaan. Blokkeja muodostavat hierarkisesti skriptit, moduulit, luokat ja funktiot. Nimet näkyvät vain kunkin blokin sisällä, ellei näkyvyyttä olla muutettuglobal- tai nonlocal-avainsanoilla, tai kyseessä ole funktio, jolloin nimet näkyvät kaikille funktion sisältämille blokeille.
Sanastollisesti kukin koodiblokki koostuu nimistä (muuttuja), avainsanoista (for), literaaleista (2.5), operaattoreista (==), erottimista (() ja näiden muodostamista fyysisistä ja loogisista riveistä. Python käyttää lauseiden ryhmittelyyn sisennystä – ei kaarisulkeita kuten monet muut kielet. Kaksoispisteitä käytetään koottuja lauseita aloitettaessa (esim.for i in range(10):), mutta muuten uusi rivi ja oikea sisennys riittää rivin ja lauseen päätteeksi.
Luokat määritellään syntaksillaclass Luokka(Yläluokka1, Yläluokka2): ja luokan sisältö sisennetään tästä, mikä luo paikalliseen ympäristöön luokka-objektin. Luokassa määriteltyjä muuttujia kutsutaan attribuuteiksi ja funktioita metodeiksi. Metodien ensimmäinen argumentti ottaa vastaan aina objektin ja argumentin nimenä käytetäänself, jolloin metodia voidaan kutsua tyylilläobjekti.metodi(). Luokille voidaan antaa erityisiä metodeja, jotka määrittelevät, mitä Pythoniin sisäänrakennetut operaattorit ja funktiot tekevät kyseisen tyypin objekteille (engl. operator overloading). Näitä ovat muun muassa__init__()(alustus),__str__()(tekstiesitys),__lt__()(<-operaattori) ja__eq__()(==-operaattori). Uusi luokka voi siten emuloida sisäänrakennettuja tyyppejä, kun sille määritellään tarvittavat erityismetodit.
Funktiot määritellään tyylillädef func(arg=None, *args, **kwargs): ja funktion sisältö sisennetään tästä, mikä luo paikalliseen ympäristöön kyseisen nimisen funktio-objektin.=määrittelee parametrille oletusarvon,*kaappaa ylimääräiset nimeämättömät argumentit yhteen tuple-objektiin ja**kaappaa ylimääräiset nimetyt argumentit yhteen sanakirjaan. Funktion argumentiksi voidaan antaa myös lauseke; tällöin vaaditaan, että*lausekepalauttaa generaattorin ja**lausekepalauttaa kuvauksen (esim. sanakirjan). Funktioita määritellessä tyyppivihjeet ovat muotoadef func(x: Tyyppi) -> Tyyppi:. Ennen funktion määritelmää voi lisäksi olla useita ns. decorator-lauseita – mallia@deco(arg)– jotka ottavat funktion argumenttina ja palauttavat sen jollakin tavalla muunnettuna.
Rakenne > Kootut lauseet

Luokkien ja funktioiden lisäksi koottuja lauseita ovat
toistamiseenfor x in y tai while ja näissäbreak ja continue
ehdolliseen suorittamiseen perinteinenif..elif..elsetai hahmonsovituksenamatch..case..case ja hahmomääritelmissä esim.if(engl. guard),|(tai) ja_(mitä tahansa)
poikkeuksienhallintaantry..except..as..else..finally ja
kontekstinhallintaanwith..as(yleensä avoin tiedosto).
Rakenne > Lauseita

Yksinkertaisia lauseita Pythonissa ovat muun muassa
muuttujaan sijoittaminen kuten x = [1, 2]
operaattorisijoittaminen kuten x += 1(sama kuinx = x + 1)
tyyppiannotaatiot kuten x: int = 1
assert, joka testaa sen jälkeen kirjoitetun ehdon
return, joka pysäyttää funktion ja palauttaa objektin (taiNone)
import x as y tai from x import y as z, joka tuo moduulin sisällön käyttöön
break, joka pysäyttää ympäröivän silmukan
continue, joka siirtää ympäröivän silmukan suoraan seuraavaan toistoon
del, joka poistaa nimen tai korvaa arvon tyhjällä
yield, joka tekee funktiosta generaattorin ja palauttaa objektin (toistuvasti)
raise, joka toimeenpanee poikkeuksen
pass jota ei tee mitään
global, joka tuo nimen käytettäväksi ylimpään nimiavaruuteen, ja
nonlocal, joka mahdollistaa pääsyn ulommissa näkyvyyksissä määriteltyihin nimiin.
Rakenne > Lausekkeita

Lausekkeita Pythonissa ovat muun muassa
nimet kuten muuttuja tai __yksityinen_funktio
literaalit kuten "string" ja 1.56
lausekelistat kuten 1.2, 5.5, 10.2 tai ()
näkymät kuten [1,2,3], {"yksi", "kaksi"} ja {"avain": 1.2}(huom. listanäkymä voi sisältää literaalien lisäksi myös ns. comprehension-lauseen mallia[..for..in..if..])
nimettömät generaattorit kuten (x^2 for x in range(10))
attribuuttireferenssi kuten objekti.muuttuja
tilaukset kuten objekti[5](__getitem__())
viipaloinnit kuten nimi[0:10:2]
kutsut kuten nimi()
await-lauseke, joka tauottaa ko-rutiinin ajon
potenssioperaattori**
unääriset operaattorit kuten +5, -2 ja ~x(__invert__())
binääriset aritmeettiset operaattorit+, -, *, @(matriisitulo),/, //(__floordiv__()) ja%(__mod__())
binääriset bittioperaattorit|(tai),&(ja) ja^(poissulkeva tai)
vertailulausekkeet<, >, ==, >=, <=, !=, in, not in, is ja is not
Boolen operaattoritand, or ja not(huom.and ja oreivät palauta totuusarvoja vaan viimeisimmän lausekkeen arvon, ja Boolen operaatioissaNone, 0 ja tyhjät tietorakenteet saavat myös totuusarvonFalse)
mursu-operaattori:=, joka antaa nimen lausekkeelle ja palauttaa sen arvon
tiivis ehtolausex if y else z ja
nimettömät funktiot kuten lambda x, y: x**y.
Rakenne > Tyypit

Sisäänrakennettuja tyyppejä ovat muun muassa
numerotyypit kuten numbers.Number, numbers.Integraleliint ja bool, numbers.Realelifloat ja numbers.Complexelicomplex
None, joka edustaa puuttuvaa arvoa
sekvenssityypit kuten str, tuple, bytes, list, bytearray, array
kuvaustyyppidict(sanakirja)
kutsuttavat tyypit kuten käyttäjän määrittelemät ja sisäänrakennetut funktiot, metodit, generaattorit, ko-rutiinit, instanssimetodit, luokat ja luokkainstanssit
moduulit, jotka edustavat loogista joukkoa objekteja
I/O, joka edustaa avoimia tiedostoja
NotImplemented, joka edustaa puuttuvaa toteutusta
Ellipsis tai ... jota käytetään pääasiassa viipalointilausekkeissa edustamaan jotakin jatkumoa tai väliä
sisäiset tyypit kuten koodi-, ajokehys-, traceback- ja viipaleobjektit sekä staattisten metodien ja luokkametodien objektit.
Python on dynaamisesti tyypittävä, joten Pythonissa voidaan käyttää ns. ankkatyypitystä (engl. duck typing) eli objektin attribuutteja ja metodeja käytetään varsinaisesta tyypistä huolimatta ja mahdolliset tyyppivirheet otetaan vastaan ja käsitellään ("helpompi pyytää anteeksi kuin lupaa"). Kun tyyppivirheitä ei ole, objekti on käytännössä haluttua tyyppiä, koska sillä on sama rajapinta ("liikkuu ja vaakkuu kuin ankka, eli kyseessä on ankka"). Ankkatyypityksellä voidaan toteuttaa näin olio-ohjelmoinnin polymorfinen korvaus ilman periytymistä ja eksplisiittistä riippuvuutta valittuun tyyppiobjektiin.
Rakenne > Ko-rutiinit

Ko-rutiinit (esim.async def func(x):) ovat erityisiä funktioita, jotka sallivat ajon tauottamisen ja jatkamisen käyttämällä avainsanojaawait, async for ja async withlauseita.
Rakenne > Generaattorifunktiot

Generaattorifunktiot palauttavat generaattorin, jolla on__next__(), send, throw() ja close()-metodit. Tyypillisestifor-silmukka käyttää sitä tuottamaan (yield) arvoja silmukkaan – näin koko iteroitavaa objektia ei tarvitse pitää muistissa kerralla. Generaattorikorutiini on tätä vastaava, mutta asynkroninen.
Käyttö

Python-tulkkia käytetään pääasiassa komentoriviltä antamalla ensimmäisessä argumentissa Python-skriptin tiedostonimi (esim.python hei-maailma.py). Python-tulkin aloitusympäristössä on alustettuna kolme moduulia –sys, builtins ja __main__– ja kaikki sisäänrakennetut ja standardimoduulit ovat käytettävissäimport-lauseella. Interaktiivisessa tilassa tulkki käsittelee yhden lauseen kerrallaan, muuten koko lähdetiedoston.
Ympäristönhallintaohjelmat (esim. conda, venv) mahdollistavat useiden eri Python- ja kirjastoversioiden käytön samassa käyttöjärjestelmässä ilman konflikteja.
Käyttö > Ohjelmistot

Versionhallintajärjestelmä GNU Bazaar sekä siitä forkattu Breezy on toteutettu Pythonilla. Avoimen lähdekoodin Odoo-yritysohjelmisto, jota käyttää 19 000 yritystä. Syväoppimiseen perustuva tekoälyohjelmisto, Stable Diffusion on kirjoitettu täysin Pythonilla. Stable Diffusion onkin yksi suosituimmista, tehokkaimmista ja monipuolisimmista tekoälyistä joka pystyy luomaan kuvia pelkän syötetyn tekstin perusteella.
Käyttö > Sivustot ja kuluttajasovellukset

Pythonilla (suurimmaksi osaksi pääkielenä) on kirjoitettu myös lukuisia muita tunnettuja sovelluksia ja sivustoja kuten YouTube, Google, Spotify, Instagram, Reddit, Dropbox ja Quora.
Toteutukset

Python-kielestä on tehty useita toteutuksia. Tunnetuimmat ovat C-ohjelmointikielellä tehty alkuperäinen (kielen määrittelevä) toteutus ja Java-ohjelmointikielellä tehty Jython. Muita toteutuksia ovat esimerkiksi IronPython .NET- ja Mono-alustoille sekä Python-kielellä itsellään uudelleentoteutettu PyPy. Mobiilialustoista Python on sovitettu myös Symbian S60 -alustalle . Lisäksi kielestä on kehitetty Maemo-alustaan optimoitu versio . Sulautettujen järjestelmien ohjelmointiin on myös MicroPython.
Python-tulkki ja -kirjastot on kehitetty avoimen lähdekoodin projektina, ja niitä levitetään Pythonin oman lisenssin (Python Software Foundation License) alaisena, joka on yhteensopiva myös GPL-lisenssin kanssa. Pythonin lisenssi sallii lisäksi kaikenlaisen kaupallisen käytön ja jopa kaupallisen uudelleenlevittämisen.
Python-koodin tulkitseminen ja ajoa edeltävä optimointi saattavat joskus olla hitaita prosesseja, ja Pythonia ajetaankin useimmiten tavukoodina hieman Javan tapaan. Tämä vie ohjelman suorituksesta pois yhden hitaammista vaiheista, tulkkaamisen tavukoodiksi; tulkkaamattoman Python-skriptin ajaminen saattaa olla moninkertaisesti tavallisen C-kielisen ohjelman ajamista hitaampaa.
Aiheesta muualla

Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta .
Python-kielen kotisivu (englanniksi)
Ilmainen Python3-verkkokurssi
Suomenkielinen Python-opas (122ss.)
Suomenkielinen Python-grafiikkaohjelmointiopas (92ss.)
Suomenkielinen Python-opas graafisten käyttöliittymien toteuttamisesta (50ss.)
Ohjelmointiputka: Python 3 -opas
Vanhala, Erno; Nikula, Uolevi: Python 3 – ohjelmointiopas, versio 1.0 (2010)
MicroPython
| n k Yleisimmät ohjelmointikielet |
| --- | --- |
Tuotantokäytössä:  Ada  APL  Assembly  AWK  C  C++  C#  COBOL  Dart  Delphi  Eiffel  Erlang  Forth  Fortran  Go  Java  JavaScript  Kotlin  Lisp  Lua  Objective-C  Pascal  Perl  PHP  PostScript  Python  R  Ruby  Rust  Smalltalk  Swift  Tcl  TypeScript  Visual Basic 
Akateemiset:  CLU  Haskell  Logo  ML  OCaml  Prolog  Scheme 
Historialliset:  ALGOL  BASIC  Modula-3  MUMPS  Plankalkül  PL/I  Simula 
Luettelo yleisimmistä ohjelmointikielistä
| Auktoriteettitunnisteet  |
| --- | --- |
Kansainväliset:  FAST 
Kansalliset:  Ranska  BnF data  Saksa  Israel  Yhdysvallat  Tšekki 
Muut:  IdRef
Boliden (taajama)

| Boliden |
| --- | --- |

 Boliden
 Koordinaatit: 64°51′56″N, 20°22′56″E 
Valtio:   Ruotsi
Lääni:  Västerbottenin lääni
Maakunta:  Västerbotten
Kunta:  Skellefteå
Väkiluku (31.12.2023):  1 614
Boliden on taajama Skellefteån kunnassa Västerbottenin läänissä samannimisessä historiallisessa maakunnassa Ruotsissa. Taajamassa oli vuoden 2023 lopussa 1 614 asukasta.
Aiheesta muualla

Kuvia tai muita tiedostoja aiheesta Boliden (taajama) Wikimedia Commonsissa
Karianne

Karianne on seuraavien norjalaisten henkilöiden etunimi:
Karianne Bjellånes (s. 1986), maastohiihtäjä
Karianne Jevne (s. 1993), maastohiihtäjä
Karianne Tung (s. 1984), poliitikko
| --- | --- |
: Tämä on täsmennyssivu, joka luettelee monimerkityksisen käsitteen eri merkitykset tai useita eri henkilöitä. Artikkelisivuja, joiden nimessä tai tekstissä lukee ”Karianne”, voi hakea sivunnimihaulla, laajalla sivunnimihaulla tai tekstihaulla.
Ersmark (Skellefteå)

| Ersmark |
| --- | --- |

 Ersmark
 Koordinaatit: 64°50′47″N, 20°54′25″E 
Valtio:   Ruotsi
Lääni:  Västerbottenin lääni
Maakunta:  Västerbotten
Kunta:  Skellefteå
Väkiluku (31.12.2023):  805
Ersmark on taajama Skellefteån kunnassa Västerbottenin läänissä samannimisessä historiallisessa maakunnassa Ruotsissa. Taajamassa oli vuoden 2023 lopussa 805 asukasta.
Aiheesta muualla

Kuvia tai muita tiedostoja aiheesta Ersmark (Skellefteå) Wikimedia Commonsissa
Samuel Harjanne

Samuel Harjanne (s. 22. joulukuuta 1987) on suomalainen näyttelijä, ääninäyttelijä, laulaja ja ohjaaja. Hän sijoittui kymmenvuotiaana lasten laulukilpailu Karusellissa kolmanneksi kappaleilla ”Con te partirò” ja ”Tuulen värit”. Harjanne on antanut äänensä moniin animaatioelokuviin ja piirrettyihin.
Ura

Harjanne on esiintynyt muun muassa suomalaisessa Avenue Q -musikaalissa. Vuonna 2008 Harjanne esiintyi Marco Bjurströmin ohjaamassa musikaalissa, joka perustuu High School Musicaliin. Vuodesta 2007 lähtien hän on opettanut musiikkiteatterikoulu Skenessä ja StepUp Show Schoolissa. Vuonna 2009 hän esiintyi Helsingin kaupunginteatterin musikaaleissa Spring Awakening ja High School Musical 2. Hän on myös ohjannut muutaman musikaalin, kuten Antti Tuiskun tähdittämän Altar Boyzin 2008 Helsinkiin. Vuonna 2010 hän esiintyi jo toistamiseen musikaalissa Les Misérables. Ensin hän oli mukana Helsingin kaupunginteatterin versiossa vuonna 1999 ja vuonna 2010 Åbo Svenska Teaterin ruotsinkielisessä versiossa. Vuonna 2011 hän oli mukana musikaalin Blondi – Legally Blonde Pohjoismaisessa kantaesityksessä Samppalinnan kesäteatterissa. Vuonna 2011 hän oli Helsingin kaupunginteatterissa mukana kolmen näyttelijän musikaalissa Striking 12 ja jatkaa edelleen lastennäytelmässä Kolme iloista rosvoa. Tammikuussa 2012 hän palasi Åbo Svenska Teaterin musikaaliin Les Misérables, roolinaan vallankumousjohtaja Enjolras.
Harjanne on yksi pohjoismaisen teatterituotantoyhtiön Polar Illusionsin perustajajäsenistä. Hän ohjasi Polar Illusionsin ensimmäisen musikaalin, Disneyn Aladdinin kaksikielisen version Helsinkiin syksyllä 2012.
Syksyllä 2012 Samuel palkittiin Helsingin kaupunginteatterin, Stanton Chasen ja Pretax Yhtiöiden myöntämällä Ensi Linja -musiikkiteatteripalkinnolla uutena, nuorena musiikkiteatterikykynä.
Harjanne lähti syksyllä 2014 Englantiin opiskelemaan musiikkiteatteriohjaamista Guildford School of Actingiin ja suorittamaan siellä maisteritutkinnon. Harjanteen ensimmäinen oopperaohjaus tulee olemaan Giuseppe Verdin säveltämä La Traviata. Tampereen ooppera kiinnitti hänet maaliskuussa 2024 nähtävien esitysten ohjaajaksi 2023.
Harjanne ohjasi Risto Räppääjä ja kaksoisolento-elokuvan, joka tuli ensi-iltaan 14. helmikuuta 2025.
Samuel Harjanteen isä on trumpetisti Jouko Harjanne.
Työt > Teatterirooleja

Les Misérables (Helsingin kaupunginteatteri, 1999–2000) – Gavroche
Kiss Me, Kate (Heinolan Kesäteatteri, 2006) – Hortensio
Tick, tick… Boom! (Kulttuuriareena Gloria, 2006) – Jonathan
Avenue Q (Savoy-teatteri, 2007) – Nicky, u/s Princeton
Tanssi mun käsi täyteen (Aleksanterin teatteri, 2007) – Laulaja
High School Musical (Helsingin kaupunginteatteri / Peacock, 2008) – Ryan Evans
Spring Awakening (Helsingin kaupunginteatteri, 2009) – Ernst
High School Musical 2 (Helsingin kaupunginteatteri / Savoy-teatteri, 2009) – Ryan Evans
Les Misérables (Åbo Svenska Teater, 2010–2012) – Enjolras (2012), Feuilly (2010–2011)
Blondi - Legally Blonde (Samppalinnan kesäteatteri, 2011) – Chad /
Striking 12 (Helsingin kaupunginteatteri, 2011)
Kolme iloista rosvoa (Helsingin kaupunginteatteri, 2011–2012) – Tommi
Next to Normal (Wasa Teater, 2012) – Henrik
Jekyll & Hyde (Turun kaupunginteatteri, 2013) Carlos
Risto Räppääjä ja nukkavieru Nelli (Turun Kesäteatteri Vartiovuorella / Turun kaupunginteatteri, 2013) – Risto Räppääjä
Les Misérables (Tampereen teatteri, 2013–2014) – Enjolras
Vampyyrien tanssi (Helsingin kaupunginteatteri, 2016) – Herbert
Työt > Ohjaukset

Altar Boyz (Aleksanterin teatteri, 2008)
Honk! (Aleksanterin teatteri, 2006)
The Wedding Singer (TT-hallen i Jakobstad & Vasa övningsskolas högstadium i Vasa, 2010)
Tenavat (Porvoo, 2011)
Aladdin (Aleksanterin teatteri, 2012)
Hevisaurus - Velhojenvuoren salaisuus (Peacock-teatteri, 2013)
Kolme pientä porsasta -musikaali (KokoTeatteri, 2014)
I Love You, You're Perfect, Now Change! (Skärgårdsteatern, 2014)
Käyttöohje kahdelle (Suomen Komediateatteri, 2016)
Les Misérables (Teater Vanemuine, 2017)
Spring Awakening (Tampereen Työväen Teatteri, 2017)
Kinky Boots (Helsingin kaupunginteatteri, 2018)
Billy Elliot (Tampereen Työväen Teatteri, 2018)
Pieni merenneito (Helsingin kaupunginteatteri, 2019)
Maailma on tehty meitä varten (Peacock-teatteri, 2020)
Päiväni murmelina (Helsingin kaupunginteatteri, 2020)
Matilda (Tampereen Työväen Teatteri, 2021)
Priscilla, aavikon kuningatar (Helsingin kaupunginteatteri, 2022)
Hiljaiset sillat -musikaalin Suomen kantaesitys (Turun kaupunginteatteri, 2022)
Anastasia (Tampereen Teatteri, 2022)
Come from away (Tampereen Työväen Teatteri, 2022)
Aiheesta muualla

Samuel Harjanne Elonetissä.
Voice Chasers (Arkistoitu – Internet Archive) (englanniksi)
Entinen lapsitähti ei saanut roolia musikaalista, Yle uutiset
| Auktoriteettitunnisteet  |
| --- | --- |
Taiteenala:  MusicBrainz 
Henkilöt:  Ritva  Elonet 
Muut:  Europeana
Medle

| Medle |
| --- | --- |

 Medle
 Koordinaatit: 64°44′43″N, 20°45′59″E 
Valtio:   Ruotsi
Lääni:  Västerbottenin lääni
Maakunta:  Västerbotten
Kunta:  Skellefteå
Väkiluku (31.12.2023):  574
Medle on taajama Skellefteån kunnassa Västerbottenin läänissä samannimisessä historiallisessa maakunnassa Ruotsissa. Taajamassa oli vuoden 2023 lopussa 574 asukasta.
Aiheesta muualla

Kuvia tai muita tiedostoja aiheesta Medle Wikimedia Commonsissa
Heptapyrgion

| Heptapyrgion> Ἑπταπύργιον |
| --- | --- |
 Heptapyrgion.
Sijainti:  Thessaloniki, Keski-Makedonia, Kreikka
Koordinaatit:  40°38′39″N, 22°57′44″E
Rakennustyyppi:  linna
 
Lisää rakennusartikkeleitaArkkitehtuurin teemasivulla
Infobox OKVirheellinen NIMI-arvo: 
Heptapyrgion (m.kreik. Ἑπταπύργιον, kreik. Επταπύργιο, Eptapýrgio; turk. Yedi Koule, kreik. Γεντί Κουλέ, Gentí Koulé) on bysanttilais- ja osmaniaikainen linna Thessalonikin kaupungissa Kreikassa. Sen sekä kreikan- että turkinkielinen nimi tarkoittavat ”Seitsemää tornia”.
Historia

Heptapyrgionin vanhimmat osat ovat peräisin Theodosius I:n ajalta vuosilta 379–395. Näihin kuuluvat linnan pohjoissivun viisi tornia ja niiden väliset kurtiinimuurit, jotka rakennettiin samaan aikaan kuin Thessalonikin kaupunginmuurit, joiden osaa ne ovat. Linnan eteläsivun viisi tornia ajoitetaan 1100-luvulle. Linnaa on kunnostettu ja rakennettu osittain uudelleen 1300-luvulla.
Heptapyrgion, samoin kuin muu Thessaloniki, tulivat osmanien haltuun vuonna 1430. Tämän jälkeen linna toimi kaupungin osmanijoukkojen päätukikohtana. Linnaan tehtiin muutoksia myös osmanivallan ajalla. Kauden lopulla 1890-luvulla linna muutettiin vankilaksi. Tässä yhteydessä linnan sisällä olleet rakennukset purettiin ja siihen tehtiin vankilakäytön vaatimia muutoksia ja lisärakennuksia. Linna jatkoi vankilana senkin jälkeen, kun Thessalonikista tuli osa Kreikkaa. Se toimi vankilana edelleen 1930-luvun oikeistodiktatuurin aikana sekä Kreikan sotilasjuntan kaudella 1967–1974, jolloin siellä myös kidutettiin ja teloitettiin ihmisiä. Tämän vuoksi sen nimellä on kaupungissa jossain määrin huono kaiku.
Vankila suljettiin vuonna 1989. Tämän jälkeen linnaa on kunnostettu ja paikalla on suoritettu arkeologisia tutkimuksia.
Rakennus

Linnoitus sijaitsee Áno Pólissa eli Thessalonikin vanhassakaupungissa kaupungin korkeimmalla kohdalla, antiikin ja keskiaikaisen akropoliin eli linnavuoren koillisosassa ja kaupunginmuureilla ympäröidyn alueen koilliskulmassa. Rakennuskokonaisuus koostuu kahdesta osasta, varsinaisesta keskiaikaisesta linnasta sekä sen ympärillä ja sisäpuolella olevista myöhemmistä rakennuksista, jotka ovat peräisin ajalta jolloin rakennus toimi vankilana.
Linnan seitsemään torniin viittaavasta nimestä huolimatta siinä on kymmenen tornia, viisi pohjoissivulla ja viisi eteläsivulla. Eteläsivun suuri porttitorni rakennettiin osmanivallan aikana. Vankilavaiheessa miesvankila toimi ydinlinnan sisäpuolelle lisätyissä rakennuksissa. Vankilaa varten linnanpiha on jaettu muureilla viiteen osaan, ja keskellä on vartiotorni. Linnanpihalla on myös muun muassa kirkko, joka toimi vankilan kirkkona. Ydinlinnan ulkopuolelle linnan eteläsivulle lisätyissä rakennuksissa toimivat muun muassa vankilan hallinto, sotilasvankila sekä naisvankila.
Aiheesta muualla

Kuvia tai muita tiedostoja aiheesta Heptapyrgion Wikimedia Commonsissa
Linnaa ulkoa.
Linnaa sisältä.