Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Metaohjelmointi Python 3:ssa

Meskanen, Markus (2020)

 
Avaa tiedosto
MeskanenMarkus.pdf (666.1Kt)
Lataukset: 



Meskanen, Markus
2020

Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-12-30
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202012229143
Tiivistelmä
Toistuva ohjelmakoodi mielletään usein paheeksi, sillä mahdolliset muutokset koodiin joudutaan toteuttamaan useaan eri paikkaan, mikä aiheuttaa enemmän työtä ja inhimillisiä virheitä. Tästä syystä ohjelmointikielet tarjoavat useita työkaluja ohjelmakoodin rakentamiseksi, joiden avulla päästään eroon toistuvasta koodista ja vähennetään ohjelmoijan työmäärää.

Perinteisiä ohjelmoinnissa käytettyjä työkaluja ovat luokat ja funktiot, jotka mahdollistavat saman koodin käyttämisen useaan otteeseen. Ne hyödyntävät abstraktioperiaatetta, jonka mukaan yksittäisiä ohjelman osia ei kirjoiteta yksi kerrallaan, vaan kirjoitetaan laajempia abstraktioita kuvaamaan useita samankaltaisia osia kerrallaan. Joskus nämä työkalut eivät kuitenkaan riitä, vaan eri luokat tai funktiot jakavat keskenään toistuvaa koodia.

Yhtenä ratkaisuna toistuvaan koodiin abstrakteissa kuvauksissa toimii metaohjelmointi, joka vie abstraktioperiaatteen korkeammalle tasolle, mahdollistaen useiden samankaltaisten funktioiden tai luokkien kuvaamisen yhdellä kertaa. Toteutuksen tasolla metaohjelmointi mahdollistaa ohjelmakoodin muokkauksen ohjelman suorituksen aikana. Näin luokissa ja funktioissa toistuva koodi voidaan määritellä ohjelmoijan toimesta vain kertaalleen, jonka jälkeen se voidaan kopioida ohjelman toimesta kaikille sitä tarvitseville luokille tai funktioille ohjelman ajon aikana.

Tässä työssä esitellään Pythonin tärkeimpiä metaohjelmointityökaluja, kuten dekoraattorit, deskriptorit, sekä metaluokat. Työssä käydään läpi esimerkkejä tyypillisistä luokkien ja funktioiden käytössä syntyvistä ongelmista, sekä metaohjelmoinnin tarjoamia ratkaisuja niihin. Työssä käsitellään myös metaohjelmointityökalujen hyödyntämiä kielen ominaisuuksia, jotta työkalujen toimintaa voidaan pohjustaa ja ymmärtää syvemmin.
Kokoelmat
  • Kandidaatintutkielmat [10986]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste