{"id":218,"date":"2019-01-09T23:11:51","date_gmt":"2019-01-09T23:11:51","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/?post_type=chapter&#038;p=218"},"modified":"2019-08-29T11:31:10","modified_gmt":"2019-08-29T11:31:10","slug":"andmetuubid","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/chapter\/andmetuubid\/","title":{"raw":"Andmet\u00fc\u00fcbid","rendered":"Andmet\u00fc\u00fcbid"},"content":{"raw":"<p class=\"vspace\">Eelmises peat\u00fckis oli meil j\u00e4rgnev programm:<\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">arv = 1\r\nif arv &gt; 0:\r\n    print(\"positiivne\")\r\nelse:\r\n    print(\"mittepositiivne\")<\/pre>\r\n<p class=\"vspace\">Selles programmis on n\u00e4ha mitut t\u00fc\u00fcpi andmeid. Paistavad arvud <code>1<\/code> ja <code>0<\/code> ning tekstilised suurused <code>\"positiivne\"<\/code> ja <code>\"mittepositiivne\"<\/code>. Pythonis (nagu ka teistes programmeerimiskeeltes) on v\u00f5imalik kasutada erinevaid andmet\u00fc\u00fcpe. Meie jaoks on esialgu olulised j\u00e4rgmised Pythoni andmet\u00fc\u00fcbid:<\/p>\r\n\r\n<div class=\"vspace\"><\/div>\r\n<ul>\r\n \t<li><strong>T\u00e4isarvud<\/strong> (n\u00e4iteks <code>10<\/code>, <code>-4<\/code>, <code>0<\/code>);<\/li>\r\n \t<li><strong>Ujukomaarvud<\/strong> (n\u00e4iteks <code>2.5<\/code>, <code>3.14<\/code>, <code>-7.23<\/code>, <code>2.0<\/code>);<\/li>\r\n \t<li><strong>S\u00f5ne \/ tekst<\/strong> (n\u00e4iteks <code>\"kass\"<\/code> (v\u00f5i <code>'kass'<\/code>), <code>\"koer ja hobune\"<\/code> (v\u00f5i <code>'koer ja hobune'<\/code>));<\/li>\r\n \t<li><strong>T\u00f5ev\u00e4\u00e4rtused<\/strong> (<code>True<\/code> v\u00f5i <code>False<\/code>).<\/li>\r\n<\/ul>\r\n<p class=\"vspace\">T\u00e4isarvude kasutamine Pythonis on sarnane (kooli)matemaatikale.<\/p>\r\n<p class=\"vspace\">Eraldi t\u00fc\u00fcp on koma sisaldavatele (murd)arvudele, selliseid arve nimetatakse ujukomaarvudeks. Koma rollis kasutatakse Pythonis punkti (n\u00e4iteks 3,2 kirjutatakse Pythonis 3.2).<\/p>\r\n<p class=\"vspace\">Tekstide jaoks on s\u00f5net\u00fc\u00fcp, mille tunnuseks on jutum\u00e4rgid v\u00f5i \u00fclakomad. S\u00f5ne ingliskeelne vaste on <em>string<\/em> (l\u00fchendatult <em>str<\/em>).<\/p>\r\n<p class=\"vspace\">T\u00f5ev\u00e4\u00e4rtuste t\u00fc\u00fcbis on vaid kaks v\u00f5imalikku v\u00e4\u00e4rtust - <code>True<\/code> (t\u00f5ene) ja <code>False<\/code> (v\u00e4\u00e4r).<\/p>\r\n<p class=\"vspace\">Konkreetse v\u00e4\u00e4rtuse t\u00fc\u00fcbi saab teada k\u00e4sku <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">type()<\/code> kasutades. T\u00e4isarvu t\u00fc\u00fcpi m\u00e4rgitakse Pythonis <code>int<\/code>, ujukomaarvu t\u00fc\u00fcpi <code>float<\/code>, s\u00f5ne t\u00fc\u00fcpi <code>str<\/code> ja t\u00f5ev\u00e4\u00e4rtuse t\u00fc\u00fcpi <code>bool<\/code>. Proovi n\u00e4iteks:<\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">print(type(4))\r\nprint(type(4.5))\r\nprint(type(\"Maria\"))\r\nprint(type(True))<\/pre>\r\n<h3>Enesekontroll (2 \u00fclesannet)<\/h3>\r\n<code>[h5p id=\"31\"]<\/code>\r\n\r\n<code>[h5p id=\"32\"]<\/code>\r\n\r\nT\u00fc\u00fcpidega samanimeliste funktsioonide abil saame andmete t\u00fc\u00fcpi muuta. Sageli on siin tulemus selgesti ettearvatav, vahel aga v\u00f5ib see suhteliselt ootamatu tunduda. Nii on n\u00e4iteks <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">int(\"1\")<\/code><\/code> v\u00e4\u00e4rtuseks t\u00e4isarv <code>1<\/code>, sest s\u00f5nele <code>\"1\"<\/code> on just t\u00e4isarvudest <code>1<\/code> loomulik vaste. Samuti vastupidi <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">str(1)<\/code> v\u00e4\u00e4rtuseks on s\u00f5ne <code>\"1\"<\/code>. Kontrolli ise, mida Python nende andmete t\u00fc\u00fcpidest arvab:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">print(type(str(1)))\r\nprint(type(int(\"1\")))<\/pre>\r\nM\u00f5nedel juhtudel pole t\u00fc\u00fcbiteisenduse funktsiooni v\u00e4\u00e4rtuse ennustamine nii lihtne. Proovi j\u00e4rgmisi n\u00e4iteid:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">print(bool(7))\r\nprint(bool(0))\r\nprint(float(True))\r\nprint(int(1.7))<\/pre>\r\n<p class=\"vspace\">Vaatame viimast rida, mis andis <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">int(1.7)<\/code> v\u00e4\u00e4rtuseks <code>1<\/code>. Nagu n\u00e4eme, ei ole tegemist \u00fcmardamisega, kuna \u00fcmardamisreeglite j\u00e4rgi peaks v\u00e4\u00e4rtus olema <code>2<\/code>. \u00dcmardamiseks on Pythonis eraldi funktsioon <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">round<\/code><\/code>. N\u00e4iteks <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">round(1.7)<\/code><\/code> on t\u00f5esti <code>2<\/code>.<\/p>\r\n<p class=\"vspace\">Erinevat andmet\u00fc\u00fcpi v\u00e4\u00e4rtusi on vaja erinevates olukordades, sest nendega on v\u00f5imalik sooritada erinevaid tegevusi. Ka n\u00e4iliselt sama tegevus v\u00f5ib anda erinevaid andmet\u00fc\u00fcpe kasutades erinevaid tulemusi. Oluline on ka see, et erinevat t\u00fc\u00fcpi v\u00e4\u00e4rtusi hoitakse arvuti m\u00e4lus erinevalt - ka ruumi v\u00f5tavad nad m\u00e4lus erinevalt.<\/p>","rendered":"<p class=\"vspace\">Eelmises peat\u00fckis oli meil j\u00e4rgnev programm:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">arv = 1\r\nif arv &gt; 0:\r\n    print(\"positiivne\")\r\nelse:\r\n    print(\"mittepositiivne\")<\/pre>\n<p class=\"vspace\">Selles programmis on n\u00e4ha mitut t\u00fc\u00fcpi andmeid. Paistavad arvud <code>1<\/code> ja <code>0<\/code> ning tekstilised suurused <code>\"positiivne\"<\/code> ja <code>\"mittepositiivne\"<\/code>. Pythonis (nagu ka teistes programmeerimiskeeltes) on v\u00f5imalik kasutada erinevaid andmet\u00fc\u00fcpe. Meie jaoks on esialgu olulised j\u00e4rgmised Pythoni andmet\u00fc\u00fcbid:<\/p>\n<div class=\"vspace\"><\/div>\n<ul>\n<li><strong>T\u00e4isarvud<\/strong> (n\u00e4iteks <code>10<\/code>, <code>-4<\/code>, <code>0<\/code>);<\/li>\n<li><strong>Ujukomaarvud<\/strong> (n\u00e4iteks <code>2.5<\/code>, <code>3.14<\/code>, <code>-7.23<\/code>, <code>2.0<\/code>);<\/li>\n<li><strong>S\u00f5ne \/ tekst<\/strong> (n\u00e4iteks <code>\"kass\"<\/code> (v\u00f5i <code>'kass'<\/code>), <code>\"koer ja hobune\"<\/code> (v\u00f5i <code>'koer ja hobune'<\/code>));<\/li>\n<li><strong>T\u00f5ev\u00e4\u00e4rtused<\/strong> (<code>True<\/code> v\u00f5i <code>False<\/code>).<\/li>\n<\/ul>\n<p class=\"vspace\">T\u00e4isarvude kasutamine Pythonis on sarnane (kooli)matemaatikale.<\/p>\n<p class=\"vspace\">Eraldi t\u00fc\u00fcp on koma sisaldavatele (murd)arvudele, selliseid arve nimetatakse ujukomaarvudeks. Koma rollis kasutatakse Pythonis punkti (n\u00e4iteks 3,2 kirjutatakse Pythonis 3.2).<\/p>\n<p class=\"vspace\">Tekstide jaoks on s\u00f5net\u00fc\u00fcp, mille tunnuseks on jutum\u00e4rgid v\u00f5i \u00fclakomad. S\u00f5ne ingliskeelne vaste on <em>string<\/em> (l\u00fchendatult <em>str<\/em>).<\/p>\n<p class=\"vspace\">T\u00f5ev\u00e4\u00e4rtuste t\u00fc\u00fcbis on vaid kaks v\u00f5imalikku v\u00e4\u00e4rtust &#8211; <code>True<\/code> (t\u00f5ene) ja <code>False<\/code> (v\u00e4\u00e4r).<\/p>\n<p class=\"vspace\">Konkreetse v\u00e4\u00e4rtuse t\u00fc\u00fcbi saab teada k\u00e4sku <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">type()<\/code> kasutades. T\u00e4isarvu t\u00fc\u00fcpi m\u00e4rgitakse Pythonis <code>int<\/code>, ujukomaarvu t\u00fc\u00fcpi <code>float<\/code>, s\u00f5ne t\u00fc\u00fcpi <code>str<\/code> ja t\u00f5ev\u00e4\u00e4rtuse t\u00fc\u00fcpi <code>bool<\/code>. Proovi n\u00e4iteks:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">print(type(4))\r\nprint(type(4.5))\r\nprint(type(\"Maria\"))\r\nprint(type(True))<\/pre>\n<h3>Enesekontroll (2 \u00fclesannet)<\/h3>\n<p><code><\/p>\n<div id=\"h5p-31\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-31\" class=\"h5p-iframe\" data-content-id=\"31\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Sissejuhatus-3-viispunktnull\"><\/iframe><\/div>\n<\/div>\n<p><\/code><\/p>\n<p><code><\/p>\n<div id=\"h5p-32\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-32\" class=\"h5p-iframe\" data-content-id=\"32\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Sissejuhatus-3-viiskomanull\"><\/iframe><\/div>\n<\/div>\n<p><\/code><\/p>\n<p>T\u00fc\u00fcpidega samanimeliste funktsioonide abil saame andmete t\u00fc\u00fcpi muuta. Sageli on siin tulemus selgesti ettearvatav, vahel aga v\u00f5ib see suhteliselt ootamatu tunduda. Nii on n\u00e4iteks <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">int(\"1\")<\/code><\/code> v\u00e4\u00e4rtuseks t\u00e4isarv <code>1<\/code>, sest s\u00f5nele <code>\"1\"<\/code> on just t\u00e4isarvudest <code>1<\/code> loomulik vaste. Samuti vastupidi <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">str(1)<\/code> v\u00e4\u00e4rtuseks on s\u00f5ne <code>\"1\"<\/code>. Kontrolli ise, mida Python nende andmete t\u00fc\u00fcpidest arvab:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">print(type(str(1)))\r\nprint(type(int(\"1\")))<\/pre>\n<p>M\u00f5nedel juhtudel pole t\u00fc\u00fcbiteisenduse funktsiooni v\u00e4\u00e4rtuse ennustamine nii lihtne. Proovi j\u00e4rgmisi n\u00e4iteid:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">print(bool(7))\r\nprint(bool(0))\r\nprint(float(True))\r\nprint(int(1.7))<\/pre>\n<p class=\"vspace\">Vaatame viimast rida, mis andis <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">int(1.7)<\/code> v\u00e4\u00e4rtuseks <code>1<\/code>. Nagu n\u00e4eme, ei ole tegemist \u00fcmardamisega, kuna \u00fcmardamisreeglite j\u00e4rgi peaks v\u00e4\u00e4rtus olema <code>2<\/code>. \u00dcmardamiseks on Pythonis eraldi funktsioon <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">round<\/code><\/code>. N\u00e4iteks <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">round(1.7)<\/code><\/code> on t\u00f5esti <code>2<\/code>.<\/p>\n<p class=\"vspace\">Erinevat andmet\u00fc\u00fcpi v\u00e4\u00e4rtusi on vaja erinevates olukordades, sest nendega on v\u00f5imalik sooritada erinevaid tegevusi. Ka n\u00e4iliselt sama tegevus v\u00f5ib anda erinevaid andmet\u00fc\u00fcpe kasutades erinevaid tulemusi. Oluline on ka see, et erinevat t\u00fc\u00fcpi v\u00e4\u00e4rtusi hoitakse arvuti m\u00e4lus erinevalt &#8211; ka ruumi v\u00f5tavad nad m\u00e4lus erinevalt.<\/p>\n","protected":false},"author":12,"menu_order":3,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-218","chapter","type-chapter","status-publish","hentry"],"part":208,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":8,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/218\/revisions"}],"predecessor-version":[{"id":488,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/218\/revisions\/488"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/parts\/208"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/218\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/media?parent=218"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapter-type?post=218"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/contributor?post=218"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/license?post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}