Python: datové typy, podmínky, požadavky a příklady
Datové typy v Pythonu jsou základem, na kterém je vytvořen kód. V jazycích vyšších jazyků jsou data reprezentována jako objekty, u kterých se provádějí akce předepsané v kódu. Zadávání také definuje soubor přijatelných metod a operací.
Obsah
Jaké typy dat jsou k dispozici?
Základní typy dat v Pythonu jsou vestavěné sbírky. Patří sem čísla, řádky, seznamy. Existují však objekty vytvořené samostatně pomocí návrhů a jazykových knihoven. Obvykle jsou potřebné k vyřešení složitých úkolů softwaru, a nikoli v každodenní práci.
V Pythonu není nutné provádět vaše objekty. Jazyk nabízí hotové a výkonné vývojové nástroje, které jsou mnohem jednodušší. Umožňují práci s velkým množstvím dat s nejmenším úsilím a časem.
Vestavěné typy jsou efektivní datové struktury. Vzhledem k tomu, že jsou implementovány v jazyce C, objekty poskytují vysokou rychlost a výkonnost kódu. Samostatně vytvořené objekty mohou provádět nestandardní úlohy. Například operace zásobníku. Ale jsou mnohem pomalejší než standardní seznamy.
Hlavní vestavěné datové typy Pythonu zahrnují:
- Čísla: 1234, 3.1415, 3 + 4j, desetinná, frakce.
- Řádek: "spam", "brsquo-a x01c".
- Seznamy: [1, [2, "tři"], 4].
- Slovníky: {"food": "spam"}.
- Tuppy: (1, "spam", 4, "U").
- Nastaví nastavení ("abc"), {"a", "b"}.
- Booleovské proměnné.
Uvedené typy jsou považovány za základní. Při práci s nimi se používají určité syntaktické konstrukce. Pro řetězce se jedná o citace nebo odkazy na slovníky.
Co je to dynamické psaní?
V Pythonu neexistují konstrukty pro deklarování proměnných. Objekt je automaticky zadán syntaxí během provádění kódu, který se nazývá dynamické zadávání. Pokud v IDLE napíšete 6,78, vytvoří a vrátí číselný typ dat. Výraz v hranaté závorky vytvořit seznam, v uvozovkách - řetězec. Dalším způsobem zadání typu je přiřadit hodnotu pomocí značky "=":
- > my_string = "Dobrý den, Python!"
Po generování dostane každý objekt určité místo v paměti a soubor vlastních operací. Ale zpočátku jména nebo proměnné nemají významy a pojmy typu. Ve skutečnosti jsou to odkazy na objekty. Proto, dynamické psaní dává možnost určit jednu proměnnou několika hodnot.
Všechny jazykové objekty patří do dvou tříd: měnitelné a nezměnitelné datové typy. V Pythonu obsahuje druhá skupina int, float, bool, str, nuple. Tyto objekty nelze změnit, ale některé z nich lze převést pomocí dynamického psaní:
- > x = "123"
- > int (x)
- 123
- > float (x)
- 123,0
Většina sekvencí patří k měnitelným objektům - seznamům, slovníkům, souborům. Poskytují flexibilní práci s kódem.
Referenční čítače
Všechny informace o typu nejsou uloženy v názvu, ale v objektu odkazovaném proměnnou. Jakmile název získá odkaz na nový objekt, interpret odstraní starý a uvolní paměť.
- > x = 12 # přiřadí číslo proměnné x.
- > x = "spam" # x se stává řetězcem.
- > tisk (x).
- spam # 12 je zcela smazán a zůstává pouze objektový řetězec "spam".
V každém objektu se nachází referenční počet, po němž následuje tlumočník. Pokud jejich číslo dosáhne nuly, objekt je nenávratně odstraněn a prostor, který zaujal, se vrací zpět do fondu volné paměti. Toto chování usnadňuje práci programátoru a zkracuje dobu vytváření kódu. Vývojář nemusí psát samostatné pokyny pro zničení nepotřebných objektů.
Ve srovnání s jazyky Java nebo C ++ je syntaxe Pythonu mnohokrát jednodušší. Díky dynamickému psaní kód trvá mnohem méně místa, je snadné a zábavné pracovat. Navzdory zjevné jednoduchosti a flexibilitě je Python jazykem s přísnými pravidly pro každý typ. Metody a operace vztahující se na jeden typ objektu jsou vůči druhému nepřípustné:
- > f = "jablko".
- > s = "třešeň".
- > f * s # pokus o vynásobení řádků vygeneruje chybovou zprávu.
Čísla
Nejsnadnější pochopení skupiny dat. Každý může pracovat s čísly ze školy. Komplexní výpočty z vyšších matematických oborů k aplikačnímu programátoru jsou jen stěží nutné. Ve většině případů existuje dostatek standardních aritmetických výpočtů pomocí následujících operátorů:
- přírůstek: var1 + var2;
- odčítání: var1-var2;
- Násobení: var1 * var2;
- divize: var1 / var2;
- zbytek divize: var1% var2;
- celá část divize: var1 // var2.
Tento druh je rozdělen do celých a reálných objektů. První skupina obsahuje negativní a kladné celá čísla int a logické objekty bool.
Data typu int jsou implicitně zapsána v desítkovém systému výpočtu ve formě digitálních literálů. Pokud je to požadováno, mohou být zadány jako binární, osmičková nebo hexadecimální čísla s předponou 0b, 0o a 0x.
Vestavěné typy boolů mají dvě hodnoty: True a False. Jedná se o předdefinované numerické proměnné. Pravda je 1 a False je 0. Pokud píšete True + 5 v interpretovi, dostanete 6. Pomocí konstrukcí jazyka lze libovolný objekt ze standardní knihovny převést na typ bool.
Skutečné plovoucí a komplexní čísla
V Pythonu typ dat float používá číselné literály s desetinnou čárkou nebo volitelným exponentem: 1.23, 1., 3.14e-10, 4.0e + 210. Pro práci s floatem použijte stejné standardní matematické operátory jako pro integrály int.
V případě potřeby můžete provést konverzi datových typů. V Pythonu se používají funkce int () a round ():
- > x = 1,8.
- > y = 1,8.
- > int (x).
- 1 # function int () vynechá frakční část.
- > kolo (y).
- 2 # funkce round () zaokrouhluje celé číslo.
Typ komplexu jsou komplexní čísla sestávající ze dvou hodnot float. První je skutečná část a je k dispozici jako atribut .real. Druhá část se nazývá pomocí .imag a představuje pomyslnou součást objektu.
Slovníky komplexních čísel jsou psány takto:
- > my_number = -89.5 + 2.125J
- > my_number.real, my_number.imag
- (-89,5, 2,255)
Komplexní čísla jsou nezměnitelné datové typy v Pythonu. Transformační operace pro složité objekty jsou nemožné, žádný pokus o to okamžitě způsobí chybovou zprávu.
Řádky
Řetězec je objekt určený pro ukládání sekvence znaků Unicode. Nahrává textové a číselné informace. Řetězcové písmeny jsou vždy uzavřeny v uvozovkách.
Linky mají délku, kterou lze vypočítat funkcí len ():
- > x = "Dobrý den, Python!".
- > len (x).
- 18.
Každý prvek má svůj vlastní index nebo polohu, kterou lze extrahovat:
- > x [7].
- "V".
- > x [2].
- "P".
Vzhledem k tomu, že řetězce jsou sekvence, podporují operace zřetězení pomocí znaku + a opakování pomocí znaku *:
- > x * 3.
- "Dobrý den, Python, ahoj, Python, ahoj, Python!"
- > x + "123".
- "Dobrý den, Python!"
Řetězce, stejně jako čísla, jsou nezměnitelné typy. Žádná z výše uvedených operací nezměnila hodnotu proměnné x. Pokaždé, když byl vytvořen nový řetězec.
Seznamy
Seznamy v Pythonu jsou zobrazeny ve formě uspořádaných sbírek dat. Mohou být jakékoliv velikosti a obsahují všechny druhy předmětů. Protože seznamy jsou určitý druh sekvencí, platí následující řetězcové metody:
- > L = [123, "spam", "var", 1.23] # Seznam čtyř objektů různých typů.
- > len (L) # Počet položek v seznamu.
- 4.
Seznamy odkazují na typy dat, které se v Pythonu změnily. Pomocí funkcí můžete změnit počet prvků:
- > L.append (0) # Na konec seznamu je přidán nový objekt.
- > L.
- [123, "spam", "var", 1,23, 0].
- > L.pop (2) # Odstraní položku uprostřed seznamu.
- "Var".
Slovníky
Slovníky jsou mapování dat. Jedná se o zásadně nový typ objektů, odlišný od seznamů a řádků. Přístup k prvkům je možný pouze pomocí kláves. Slovníky literatury jsou uzavřeny ve svincích a skládají se z dvojic "klíč: význam":
- > D = {den: pátek, měsíc: prosinec, rok: 2017}.
- > D.
- {Den: pátek, měsíc: prosinec, rok: 2017}.
Chcete-li získat hodnotu, musíte zadat název slovníku s klíčem v hranatých závorkách:
- > D ["den"].
- "Pátek".
Chcete-li přidat klíč, musíte zadat odkaz na hodnotu:
- > D ["čas"] = "ráno" # přidá pár "klíč: hodnota".
- > D.
- {Den: pátek, měsíc: prosinec, rok: 2017, čas: ráno.
Slovníky představují nejpružnější druh předmětů. V jazycích v nízké úrovni mohou nahradit vyhledávací algoritmy a datové struktury. Místo ručního zadávání poskytují slovníky rychlé vyhledávání podle indexu nebo podle klíčových slov.
Tuples
Tuppy jsou stejné seznamy, pouze v závorkách. Mohou ukládat libovolný počet dat jakéhokoli typu, ale podporují menší soubor operací. Jejich hlavní rozdíl je nezměnitelnost. Tuppy poskytují integritu a bezpečnost objektů, což je důvod, proč se někdy používají namísto typu seznamu ve velkých programech.
V Pythonu 3 má typ dat n-tice dvě metody, které uvádí: .index () pro načtení indexu prvků a .count () pro počítání počtu identických objektů:
- > my_tuple = (1, 2, 3, 4).
- > my_tuple.index (2) # ve druhé pozici je číslo 1.
- 1.
- > my_tuple.count (1) # ukazuje počet jednotek v pořadí.
- 1.
Jednalo se o hlavní vestavěné datové typy v Pythonu. Také existují další objekty, které lze považovat za základní. Například množiny nebo neštandardní číselné typy, jako jsou matice, vektory, čísla s pevnou přesností. Abyste s nimi mohli pracovat, potřebujete vážné ponoření do principů matematiky a konstrukcí Pythonu.
- Python je vývojové prostředí. Python 3 pro začátečníky
- Jávové pole řetězců. Třídění pole v jazyce Java. Dvourozměrné pole Java
- Python pro začátečníky
- Python - co je to? Programovací jazyk na vysoké úrovni
- Programovací jazyk c (s)
- Skriptovací programovací jazyky: úkoly, funkce a výhody
- Hierarchický datový model
- Programování v Pythonu: Seznam
- Vstup a výstup v Pythonu. Vstup a tisk
- Programování v Pythonu. Práce s řetězci
- Jak najdu zbytek dělení v Pythonu?
- Co je to dynamické psaní?
- Podmíněná konstrukce if. Python: rozlehlost a jednoduchost jazyka
- Funkce v Pythonu: def. Python 3 pro začátečníky
- Objektově orientované programování v Pythonu: třídy, popis a funkce
- Co jsou objekty str v Pythonu?
- Práce s objekty souborů: otevřete, přečtěte a zapisujte soubory do Pythonu
- Podmíněné příkazy if / else v jazyce Python: syntaxe a aplikace
- Soubor, který otevírá soubory EXE: existuje nějaký systém v tomto systému a jaké akce lze provést s…
- Typy dat
- Jaké typy databází existují dnes?