{"version":"1.0","provider_name":"Artjom P\u00f5ldsaar Portfolio","provider_url":"https:\/\/artjompoldsaar24.thkit.ee\/wp\/eng","author_name":"admin","author_url":"https:\/\/artjompoldsaar24.thkit.ee\/wp\/eng\/author\/admin\/","title":"Programmeerimine Konspekt - Artjom P\u00f5ldsaar Portfolio","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"M9mQNYivDL\"><a href=\"https:\/\/artjompoldsaar24.thkit.ee\/wp\/eng\/teooria\/\">Programmeerimine Konspekt<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/artjompoldsaar24.thkit.ee\/wp\/eng\/teooria\/embed\/#?secret=M9mQNYivDL\" width=\"600\" height=\"338\" title=\"&#8220;Programmeerimine Konspekt&#8221; &#8212; Artjom P\u00f5ldsaar Portfolio\" data-secret=\"M9mQNYivDL\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/artjompoldsaar24.thkit.ee\/wp\/eng\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","description":"0. Programmeerimise ajalugu, S\u00fcntaks, Muutujad Arenduse etapid 1. Eelanal\u00fc\u00fcs. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u04372. Tehniline ja visuaalne disain. \u0414\u0438\u0437\u0430\u0439\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u04303. Arendus. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u04304. Testmine. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u04305. Juurutamine. \u0412\u044b\u043f\u0443\u0441\u043a \u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u04306. Hooldus. \u041e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 Tarkvara eluts\u00fcki mudelid Testimine Vead ja erandid Vigade liigitamine programmi t\u00f6\u00f6tlemise etappide kaupa Kompileerimisvead &#8211; \u041e\u0448\u0438\u0431\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438\u041e\u0448\u0438\u0431\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430. Paigutusvead &#8211; \u041e\u0448\u0438\u0431\u043a\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u043a\u0438 Toimimisvead &#8211; \u041e\u0448\u0438\u0431\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f P\u00f5hilised programmeerimismudelid Structural programmingStructured programming encourages dividing an application program into a hierarchy of modules or autonomous elements, which, in turn, may contain other such elements. Within each element, code may be further structured using blocks of related logic designed to improve readability and maintainability. Logic programmingWhat is logic programming? Logic programming expresses and manipulates logic-based relationships and rules in a declarative manner. Logic programs, driven solely by data, utilize logical statements known as predicates, which are either facts or rules. Component Orientented programmingIt&#8217;s known as component-oriented programming, and it&#8217;s all about stitching reusable components together like Lego blocks. At its core, component-oriented architecture embraces the Don&#8217;t Repeat Yourself (DRY) dogma. Repeating code is time and efficiency wasted. 1. Teema Lineaarsed programmid Algoritm An algorithm is a procedure used for solving a problem or performing a computation. Algorithms act as an exact list of instructions that conduct specified actions step by step in either hardware- or software-based routines. Algoritmide p\u00f5hiomadused: Algoritmide t\u00fc\u00fcbid Plokkskeem &#8211; algoritmi graafiline kujutamine plokkide ja neid \u00fchendavate noolte abil. 2. Teema Valikud (If, elif, else) 1. Mis on tingimuslaused? Tingimuslaused v\u00f5imaldavad programmil teha otsuseid, kontrollides, kas mingi tingimus on t\u00f5ene (True) v\u00f5i v\u00e4\u00e4r (False). Selle p\u00f5hjal tehakse erinevaid tegevusi. 2. S\u00fcntaks: T\u00e4htsad punktid: 3. Teema Kordused Kordused (ehk ts\u00fcklid) v\u00f5imaldavad k\u00e4ivitada sama koodi mitu korda. Pythonis kasutatakse kahte peamist korduse t\u00fc\u00fcpi: T\u00e4htsad m\u00e4rks\u00f5nad: 4. Listid List ehk loend on andmet\u00fc\u00fcp, mis v\u00f5imaldab hoida mitut v\u00e4\u00e4rtust \u00fches muutujas. Listid on j\u00e4rjestatud ja muudetavad kogumid, mis v\u00f5ivad sisaldada erinevat t\u00fc\u00fcpi elemente (numbrid, stringid, jne). Juurdep\u00e4\u00e4s elemendile indeksiga: indeksid algavad 0-st. 5. Pythoni funktsioonid str() upper() lower() capitalize() date.today() date() strftime() monthrange(a, b) round(arv, punktid) Tund 3 isalnum() Returns True if all characters in the string are alphanumeric isalpha() Returns True if all characters in the string are in the alphabet isascii() Returns True if all characters in the string are ascii characters isdecimal() Returns True if all characters in the string are decimals isdigit() Returns True if all characters in the string are digits isidentifier() Returns True if the string is an identifier islower() Returns True if all characters in the string are lower case isnumeric() Returns True if all characters in the string are numeric isprintable() Returns True if all characters in the string are printable isspace() Returns True if all characters in the string are whitespaces istitle() Returns True if the string follows the rules of a title isupper() Returns True if all characters in the string are upper case 6. S\u00f5nastikud S\u00f5nastik on andmet\u00fc\u00fcp, mis sisaldab v\u00f5tme-v\u00e4\u00e4rtuse paare. Iga element s\u00f5nastikus koosneb v\u00f5tmest ja sellele vastavast v\u00e4\u00e4rtusest. S\u00f5nastiku elemendid ei ole j\u00e4rjekorras (kui ei kasutata orderrendi Python versioonis 3.7 ja uuemates). S\u00f5nastikku luuakse k\u00f5verate sulgudega {}, kus iga element on vormis v\u00f5ti: v\u00e4\u00e4rtus. Funktsioonid keys() \u2013 tagastab k\u00f5ik v\u00f5tmed: values() \u2013 tagastab k\u00f5ik v\u00e4\u00e4rtused: items() \u2013 tagastab v\u00f5tme-v\u00e4\u00e4rtuse paarid: N\u00e4ide 7. Failidega t\u00f6\u00f6 Failide avamine ja lugemine Pythonis saab faile avada ja lugeda, kasutades open() funktsiooni. Faili avamisel on v\u00f5imalik m\u00e4\u00e4rata erinevad re\u017eiimid, n\u00e4iteks lugemiseks, kirjutamiseks v\u00f5i lisamiseks. Faili avamise re\u017eiimid: Funktsioonid failide t\u00f6\u00f6tamisega P\u00e4rast faili t\u00f6\u00f6tlemist on oluline fail sulgeda, et k\u00f5ik muudatused salvestatakse ja fail on korrektselt vabastatud. Faili kirjutamine E-maili saatmine Impordi e-posti moodulid Konfigureeri e-posti p\u00e4ise v\u00e4ljad Konfigureeri e-kirja keha Konfigureeri e-posti server E-kirja saatmine HTML-sisu saatmine e-postiga On vaja kirjutada subtype=&#8221;html&#8221; Pildi saatmine e-postiga manusena K\u00fcsime kasutajalt faili laadima Lisame pilt manusena 8.1 Graafikute ja diagrammide loomine matplotlib \u2013 k\u00f5ige populaarsem raamatukogu lihtsate ja keerukate graafikute loomiseks. Installimine Joongraafik Tulpdiagramm Histogramm Punktdiagramm numpy kasutamine 8.2 Graafiline liides(Tkinter, CustomTkinter jne) Tkinteri p\u00f5hi\u00fcksused: Lihtne Tkinteri aknas\u00fcsteem Kasutajasisendi vorm 9. OOP Objektorienteeritud programmeerimine (OOP) on programmeerimisparadigma, mis p\u00f5hineb objektide m\u00f5istel. Objektid on klasside eksemplarid ja need v\u00f5ivad sisaldada andmeid (atribuutide kujul) ja meetodeid (funktsioonid, mis t\u00f6\u00f6tlevad neid andmeid). OOP p\u00f5hialused on klassid, objektid, p\u00e4rimine, kapseldamine ja pol\u00fcmorfism. Pythoni keeles on OOP tugevasti integreeritud ja seda saab rakendada klasside ja objektide abil. Klassid ja Objektid Klass (Class): Klass on \u201eplaan\u201c v\u00f5i \u201emall\u201c objektide loomiseks. Klass m\u00e4\u00e4ratleb objektide omadused (atribuutide kaudu) ja k\u00e4itumise (meetodite kaudu). Objekt (Object): Objekt on klassi eksemplar, mis sisaldab andmeid ja saab t\u00e4ita meetodeid. Objektil on k\u00f5ik klassi omadused, kuid iga objekti andmed v\u00f5ivad olla erinevad. N\u00e4ide P\u00e4rimine (Inheritance) P\u00e4rimine v\u00f5imaldab \u00fchel klassil (alamklassi) p\u00e4rida omadused ja k\u00e4itumise teisest klassist (pealklassist). See aitab koodis kordust v\u00e4hendada ja loogikat jagada. Pol\u00fcmorfism (Polymorphism) Pol\u00fcmorfism v\u00f5imaldab eri klasside objektidel kasutada samu meetodeid, kuid nende k\u00e4itumine v\u00f5ib olla erinev s\u00f5ltuvalt objekti t\u00fc\u00fcbist. Selleks, et pol\u00fcmorfism toimiks, peab meetod olema m\u00e4\u00e4ratletud nii, et erinevad alamklassid v\u00f5ivad seda erinevalt rakendada. Pol\u00fcmorfism t\u00e4hendab, et erinevad klassid saavad kasutada sama meetodit h\u00e4\u00e4le_tegija, kuid iga klassi puhul k\u00e4itub see erinevalt. OOP N\u00e4ide kood https:\/\/github.com\/GummyisHear\/TARpv24_pyhikonstruktsioonid\/blob\/master\/oop\/shop.py"}