Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu.

Podobné dokumenty
Promnné. [citováno z

Programovací jazyk Python. Objektov orientovaný. [citováno z

DUM. Databáze - úvod

Algoritmizace a programování

Algoritmy a datové struktury

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

"DLK 642-Lite Konfigurator" Programové vybavení pro ídicí jednotku DLK642-Lite Instalaní a programovací návod verze Aktualizace 3.11.

Programovací jazyky, syntaxe, sémantika, zpsoby popisu

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

ADT/ADS = abstraktní datové typy / struktury

Datové typy a jejich reprezentace v počítači.

Základy algoritmizace 2. Proměnné, datové typy

Úvod do programovacích jazyků (Java)

4 - Architektura poítae a základní principy jeho innosti

ipové karty, standardy PKCS#11, PKCS#15

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Objektov orientovaný pístup

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

POPIS TESTOVACÍHO PROSTEDÍ 1 ZÁLOŽKA PARSER

Rzné algoritmy mají rznou složitost

VYTVÁENÍ VÝBROVÝCH DOTAZ

UŽIVATELSKY DEFINOVANÉ FUNKCE

1. Signatura datového typu

Jak psát seminární a maturitní práce Manuál pro obory KS, MP

VLASTNOSTI KOMPONENT MICÍHO ETZCE -ÍSLICOVÁÁST

Základní pojmy klasického sudoku hlavolamu. Techniky odkrývání bunk. Technika Naked Single. Technika Hidden Single

KUSOVNÍK Zásady vyplování

Programování v Pythonu

SKRIPTOVACÍ JAZYK PRO PROSTEDÍ

Dodatek dokumentace KEO-Moderní kancelá verze 7.40

Konzistentnost. Pro a proti replikaci. Vztah ke škálovatelnosti (1)

2.1 Pokyny k otev eným úlohám. 2.2 Pokyny k uzav eným úlohám. Testový sešit neotvírejte, po kejte na pokyn!

Datový typ POLE. Jednorozmrné pole - vektor

ORACLE MANUFACTURING SCHEDULING ORACLE HLAVNÍ PLÁNOVÁNÍ VÝROBY

Prezentaní program PowerPoint

íslo ryze periodické íslice /skupina íslic ), která se opakuje nazýváme perioda. V našem p ípad je perioda íslice 6.

ÚSTAV AUTOMATIZACE A MICÍ TECHNIKY Fakulta elektrotechniky a komunikaních technologií Vysoké uení technické v Brn

Paměť počítače. alg2 1

Elementární datové typy

Algoritmizace prostorových úloh

Základy MIDI komunikace

Cykly Intermezzo. FOR cyklus

Algoritmizace prostorových úloh

Autocad ( zdroj )

PÍRUKA A NÁVODY PRO ÚELY: - RUTINNÍ PRÁCE S DATY

Splajny a metoda nejmenších tverc

Vyhodnocování úspšnosti

POTRUBNÍ SYSTÉMY PROGRAMU INVENTOR PROFESSIONAL V REALIZACI ISTÍRNY ODPADNÍCH VOD

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

2. PÍKLAD DÍLÍ ÁSTI SOUSTAVY - DÍLÍ ÁST SDÍLENÍ TEPLA

Digitální pekreslení leteckého snímku

Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, For Evaluation Only. JAK PSÁT MATURITNÍ PROJEKT

Efektivní uení. Žádná zpráva dobrá zpráva. (Structured training) Schopnost pracovat nezávisí od IQ. Marc Gold

MATEMATIKA MATEMATIKA

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Úvodní studie (pokraov

Tato tematika je zpracována v Záznamy přednášek: str materiál: PrikladyZobrazeniCisel.pdf

7. Datové typy v Javě

Kižíkova 1690, eské Budjovice. Ocelová konzola typ PAÁT II - 40 ST na betonové sloupy. TYPOVÝ PODKLAD. 4/2011

Roní plán pro 1.roník

ORACLE ÍZENÍ VÝROBY ORACLE WORK IN PROCESS KLÍOVÉ FUNKCE ORACLE WORK IN PROCESS

DUM 09 téma: Kusovník

1 Sémantika a její vztah k syntaxi

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

EXCEL (NEJEN) PRO ELEKTROTECHNIKY

Seminář Java II p.1/43

ORACLE DISCRETE MANUFACTURING ORACLE DISKRÉTNÍ VÝROBA

Dlitel, násobek Znak dlitelnosti Prvoíslo, íslo složené, rozklad na prvoinitele Nejvtší spolený dlitel, nejmenší spolený násobek

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí

1 Píklady popisu typických konstrukcí

ZÁKLADNÍ INFORMACE O LÉB INFORMATIKY

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

JAZYK C++ ÚVOD. Historie. Syntaktické definice v p!ednáškách. Deklarace a definice

Asymetrické šifrovací techniky se využívají k následujícím úelm:

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

Čísla a číselné soustavy.

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

FMS OEM CHIP ZÁKLADNÍ POPIS 2 INTEGRACE FMS CHIPU DO SYSTÉMU 2 SPI INTERFACE 4 PÍKAZ READ 5 READ: FIRMWARE 5 READ: CAN BUS DATA 5

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Reprezentace dat v informačních systémech. Jaroslav Šmarda

NERVOVÁ SOUSTAVA NEURON NERVOVÁ SOUSTAVA MOZEK

Správa obsahu ízené dokumentace v aplikaci SPM Vema

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

MQL4 COURSE. By Coders guru -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět:

EXPORT DAT TABULEK V MÍŽKÁCH HROMADNÉHO PROHLÍŽENÍ

POKYNY PRO VYPRACOVÁNÍ BAKALÁSKÉ A DIPLOMOVÉ PRÁCE

Úvod do programování - Java

64 - BITOVÉ PROCESORY AMD

LEKCE 6. Operátory. V této lekci najdete:

! " # $ % # & ' ( ) * + ), -

GYMNÁZIUM CHEB SEMINÁRNÍ PRÁCE

Principy počítačů I Reprezentace dat

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

Pístupný web. Základy pístupnosti. Definice pístupné stránky. Pístupnost (accessibility) Tim Berners-Lee, zakladatel technologie www

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Transkript:

Datový objekt [citováno z http://wraith.iglu.cz/python/index.php] Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu. Identita Identita datového objektu je jedinený a nemnný identifikátor. To jest každý datový objekt má svj vlastní a žádné dva objekty ho nemají shodný. Hodnota identifikátoru nelze zmnit. V souasné dob je implementován jako adresa objektu v pamti. Identifikátor objektu lze zjistit pomocí funkce id(). >>> print id(10) 159591748 Identifikátor datového objektu pedstavujícího íslo s hodnotou 10 je 159591748. Na datové objekty mohou vést odkazy, kterým íkáme promnné. Potebujeme-li zjistit, zda dv rzné promnné se odkazují na ten samý objekt, mžeme porovnat identifikátory objektu. >>> print id(10) == id(10) True >>> print id(10) == id(20) False To samé lze udlat pomocí operátoru is, který pesn k tomuto úelu slouží: >>> print 10 is 10 True >>> print 10 is 20 False Zdrazuji, že tímto zjišujeme, zda se jedná o jeden a ten samý datový objekt (v pamti poítae), ne jestli mají stejnou hodnotu. Na jejich hodnot nezáleží. Datový typ Datový typ je rovnž nemnitelný, ale není jedinený. Mžeme mít v pamti spoustu datových objekt stejného datového typu. Datový typ specifikuje o jaký druh dat se pesn jedná. To jest jakých hodnot mže datový objekt nabývat a jaké podporuje operace.

Datový typ objektu lze zjistit funkcí type(). >>> print type(10) <type 'int'> >>> print type("10") <type 'str'> Datový typ datového objektu íslo s hodnotou 10 je int. Datový typ etzce s hodnotou 10 je str. Hodnota Hodnota datového objektu jsou vlastní data objektu. Hodnoty jsou úzce svázány s datovým typem, který je obecn popisuje. Hodnota datového typu mže být (v závislosti na datovém typu) mnitelná i nemnitelná. Nemnitelné jsou nap. ísla, etzce a vbec základní datové entity. Mnitelné nap. seznamy a slovníky. Nkteré datové objekty, které nazýváme kontejnery, místo vlastních hodnot obsahují odkazy na jiné datové objekty. To jsou napíklad n-tice, seznamy nebo slovníky. Kontejnery mohou být mnitelné (seznam, slovník) i nemnitelné (n-tice). Vznik a zánik datových objekt Datové objekty vznikají automaticky pi práci s daty. Data mohou být uvedena ve form literál pímo ve zdrojovém kódu programu, nebo je mžeme bhem chodu programu naítat ze souboru, ze sít, mže je zadávat uživatel pomocí klávesnice a podobn. Z takto získaných dat poté mžeme v programu vytváet nová. Cokoli s ím pracujeme se automaticky pevádí na datové objekty, které jsou umístny v pamti poítae. Když datové objekty už nejsou poteba, tak stejn automaticky zanikají. Tj. jsou odstranny (vymazány) z pamti poítae. To že datové objekty již nejsou poteba pozná interpret Pythonu podle toho, že se na n neodkazují žádné promnné nebo jiné datové objekty. Python rozpozná i stav, kdy se dva datové objekty odkazují navzájem na sebe, ale na n jako skupinu se již nic neodkazuje. Automatické odstraování datových objekt z pamti má na starost garbage collector. Runí odstranní datového objektu z pamti (na píkaz programátora) není možné. Programátor mže pouze ovlivovat chování garbage collectoru. To jest práce s pamtí poítae je pln v kompetenci Pythonu. Garbage collector mají napíklad i jazyky Java nebo C#, pímou správu pamti napíklad jazyky C nebo C++. Datový typ

ísel se obvykle rozlišuje vícero druh. V Pythonu je nap. celé, dlouhé, desetinné a komplexní íslo. Textový etzec pedstavuje obyejný text. Python má dva druhy textových etzc. Obyejný, kde každý znak zabírá jeden bajt (max. 256 variant znak) a moderní Unicode, který pokrývá všechny možné znaky. Spousta asto užívaných datových typ má své literály: literál datový typ Popis alternativní zápis 0 int celé íslo s hodnotou 0 0.0 float íslo s plovoucí árkou a hodnotou 0 float(0) 0L long dlouhé íso s hodnotou 0 long(0) 0j complex komplexní íslo s hodnotou 0 complex(0, 0) "0" str textový etzec se znakem 0 Jak je vidt, datové typy se u literárního zápisu rozlišují pomocí rzných znaek. Desetinná teka je vcelku pirozená a intuitivní, u jiných si to musíme pamatovat. Je nutno si uvdomit, že ty znaky nejsou souástí hodnoty, jen urují její datový typ. Napíklad u etzce jsou ty uvozovky jen vnjší obal, aby Python poznal, kde etzec zaíná a kde koní když te program. Nejlépe to bude pochopitelné na píkladu. Píkaz: >>> print 0, "0", 0L, 0.0, 0j 0 0 0 0.0 0j Jak je vidt, píkaz print klidn vypisuje nekteré hodnoty bez literárních znaek, výjimkou je íslo s plovoucí árkou. ísla a etzce jsou rzné datové typy, jsou rzn uloženy v pamti, mají rzné vlastnosti a Python s nimi rzn zachází. Nejlépe to osvtlí další ukázka: >>> print 10 + 10 20 >>> print "10" + "10" 1010

To byla ukázka rzného zacházení s rznými datovými typy. Hlavní rozdíl mezi íslem a etzcem je, jak jsou tyto data uložena v pamti poítae. Ve zkratce, íslo 10 je v pamti uloženo v binární podob. Tedy jako kombinace jedniek a nul, která v dvojkové soustav pedstavuje hodnotu 10. Oproti tomu etzec "10" je v pamti uložen jako posloupnost znak "1" a "0". Pitom znak "1" je nco jiného než íslo 1. Znak "1" je nap. íslo 49. Poítae totiž umí pracovat jenom s ísly. Znaky jsou proto v poítai ada oíslovaných obrázk (i obrázek jsou ísla, ísla souadnic a ísla barev). Vztah mezi obrázky znak a jejich ísly, tj. k jakému íslu je piazen který obrázek, je stanoveno ASCII tabulkou, která definuje že obrázek znaku 1 má íslo 49. Python je jazyk vyšší úrovn (high level language). To znamená, že programátorm poskytuje vtší odstínní od hardware, tj. zjednodušenné základní typy, pipravené obecné abstraktní typy a protože vše, vetn funkcí a tíd, je v nm objekt, tak i vyšší datové typy. Základní datové typy které Python poskytuje: název int float popis Celé íslo se znaménkem. Minimáln 32 bit, na 64 bit. procesorech mže být vtší. Desetinné íslo s dvojitou pesností. Jednoduchá pesnost v Pythonu není podporována. Abstraktní datové typy: název NoneType bool long complex str popis speciální typ s jedinou hodnotou None speciální typ s hodnotami True a False celé íslo neomezené velikosti komplexní íslo text v 8. bitovém kódování

unicode list tuple dict file text v kódování unicode seznam (pole s metodami pro práci s jeho prvky) nemodifikovatelná varianta seznamu slovník (datový typ známý i pod názvy hash, asociativní pole) otevený soubor