Python: Типове данни, термини, изисквания и примери

Типовете данни в Python са основата, върху която се изгражда програмния код. В езиците на високо ниво данните се представят като обекти, върху които се записват действията в кода. Типизацията определя и набор от допустими методи и операции.

Какви типове данни има

Основните типове данни в Python са вградени колекции. Те включват числа, редове и списъци. Но има обекти, създадени самостоятелно, използвайки конструкции и езикови библиотеки. Обикновено те са необходими за решаване на сложни програмни задачи, а не за ежедневна работа.


Не е необходимо Python да реализира своите обекти. Езикът предлага готови и мощни инструменти за разработка, които са много по-лесни за използване. Те ви позволяват да работите с голямо количество данни, с най-малко разходи за усилия и време. Вградените типове са ефективни структури от данни. Поради факта, че те са внедрени в C, обектите осигуряват висока скорост и производителност на кода. Самостоятелно създадените обекти могат да изпълняват нестандартни задачи. Например, операции на стека. Но те са много по-бавни от стандартните. Основните типове данни, вградени в Python включват:
  • Числа: 123431415 3 + 4j, Decimal, Fraction.
  • Редове: "спам", "b'c ax01c".
  • Списъци: [1, [2, «три»], 4].
  • Речници: {"food": "spam"}.
  • Корекции: (1 "спам", 4 "U").
  • Наборът (abc), {a, b}}.
  • Логически променливи.
  • Горните видове се считат за основни. При работа с тях се използват някои синтаксисидизайн. За низове това са крака или къдрави скоби за речници.


    Какво е динамично въвеждане

    Python няма конструкции за деклариране на променливи. Обектът автоматично се присвоява синтаксис в процеса на изпълнение на кода, наречен динамично въвеждане. Ако напишете 678 в IDLE среда, тя ще създаде и върне цифров тип данни. Изразът в квадратни скоби ще създаде списък, в кавички, низ. Друг начин да зададете тип е да присвоите стойност, използвайки знака "=":
  • my_string = "Здравей, Python!"
  • След генериране, всеки обект получава определено място в паметта и набор от собствени операции. Но първо, в имена или променливи, няма стойности или понятия от тип. По същество те са препратки към обекти. Ето защо, динамичното въвеждане позволява да се определи една променлива за няколко стойности. Всички обекти на езика принадлежат към два класа: променливи и неизменяеми типове данни. В Python втората група включва int, float, bool, str, tuple. Тези обекти не могат да бъдат променяни, но някои от тях могат да бъдат трансформирани чрез динамично типизиране:
  • x = "123"
  • int (x)
  • 123
  • float (x)
  • 123.0
  • Променливите обекти включват повечето от последователностите - списъци, речници и множества. Те осигуряват гъвкава работа с кодове.

    Броячи на връзки

    Цялата информация за типа не се съхранява в името, а в обекта, към който се отнася променливата. Веднага след като получи името на връзката към новия обект, интерпретаторът премахва стария, освобождавайки паметта.
  • x = 12 # Присвоява променлива x на числова стойност.
  • x = "spam" # x става низ.
  • print (x).
  • спам # 12напълно изтрит и остава само обектът за спам.
  • Всеки обект има брояч на връзки, последван от интерпретатора. Ако техният брой достигне нула, обектът се заличава необратимо и мястото, което заема, се връща в пула за свободна памет. Това поведение улеснява работата на програмиста и намалява времето за създаване на кода. Разработчикът не трябва да пише отделно инструкции за унищожаване на ненужни обекти.
    В сравнение с Java или C ++, синтаксисът в Python е малко по-лесен. Благодарение на динамичното въвеждане, кодът заема много по-малко място, с което е лесно и приятно да се работи. Но въпреки очевидната простота и гъвкавост, Python е език със строги правила за всеки тип. Методи и операции са приложими за един вид обекти, които са неприемливи по отношение на други:
  • f = «ябълка».
  • s = "череша".
  • f * s # опит за умножаване на ред ще покаже съобщение за грешка.
  • Числа

    Най-проста за разбиране група данни. За работа с номера всеки може още от училище. Малко вероятно е да са необходими сложни изчисления от по-висша математика до приложния програмист. В повечето случаи са достатъчни стандартни аритметични изчисления със следните оператори:
  • допълнение: var1 + var2;
  • изваждане: var1-var2;
  • умножение: var1 * var2;
  • разпределение: var1 /var2;
  • остатък: var1% var2;
  • Целочислена част от делението: var1 //var2.
  • Този вид е разделен на цели и реални обекти. Първата група включва отрицателни и положителни цели числа int и логически обекти bool. Типът данни int е по подразбиране записан в десетичен знакцифрова система под формата на цифрови знаци. Ако желаете, те могат да бъдат въведени като двоични, осмични или шестнадесетични числа с префикса 0b, 0o и 0x.
    ​​Вградените типове bool вземат две стойности: True и False. Това са предварително дефинирани числени променливи. True е 1 и False - 0. Ако интерпретаторът запише True + 5, той ще излезе 6. Използвайки езиковите конструкции, всеки обект от стандартната библиотека може да бъде преобразуван в bool тип.

    Реални числа на флоат и комплекс

    Python използва числов литерал с десетична точка или незадължителна експонация за типа данни float: 1231., 314 e-1040 e + 210. За да работите с float, използвайте същите стандартни математически оператори като за цели числа int. Ако е необходимо, можете да извършвате типове данни за реализациите. В Python, int () и round () функциите се използват за това:
  • x = 1.8.
  • y = 1.8.
  • int (x).
  • 1 # функцията int () отхвърля дробната част.
  • кръгъл (y).
  • 2 # функцията round () е закръглена до цяло число.
  • Сложният тип е сложно число, състоящо се от две стойности на флоат. Първата е валидна част и е достъпна като .real атрибут. Втората част се нарича с .imag и представлява въображаемия компонент на обекта. Номерата на комплексните числа се записват, както следва:
  • my_number = -89.5 + 2125 J
  • питон. Операциите за преобразуване на сложни обекти не са възможни, всеки опит за това веднага ще задейства съобщение за грешка.

    Линии

    Даден низ е обект, предназначен да съхранява поредица от символиUnicode. Той съдържа текстова и цифрова информация. Линейните линии винаги са кавички. Редовете имат дължина, която може да се изчисли чрез функцията len ():
  • x = "Здравейте, Python!".
  • len (x).
  • 18.
  • Всеки елемент има свой индекс или позиция, чрез която може да се получи:
  • x
    .
  • "in".
  • x
  • .
  • "p".
  • Тъй като низовете са последователности, те поддържат операции на свързване, използвайки знака "+" и повтарящи се с "*":
  • x * 3.
  • "Здравейте, Python, Здравей, Python! Здравей, Питон!
  • x + "123".
  • "Здравей, Python 123!"
  • Редове като числа са непроменени. Нито една от изброените операции не е променила стойността на променливата x. Всеки път, когато е бил създаден нов низ обект.

    Списъци

    Списъците в Python са представени под формата на подредени колекции от данни. Те могат да бъдат от всякакъв размер и да съдържат различни обекти. Тъй като списъците са последователност от последователности, приложимите низови методи са:
  • L = [123, "spam", "var", 1.23] # Списък на четири обекта от различни типове.
  • len (L) # Брой елементи в списъка.
  • 4.
  • Списъците се отнасят до променливи типове данни в Python. С помощта на функции можете да промените броя на елементите:
  • L. append

    # В края на списъка се добавя нов обект.

  • L.
  • [123, "спам", "var", 1.23, 0].
  • L. pop
    # Премахва елемент от средата на списъка.
  • "var".
  • Речници

    Речниците са отражение на данните. Това е принципно нов тип обект, който е различен от списъците и редовете. Достъпът до елементите е възможен само с ключа. Текстът на речника е в къдрави скоби и е съставенот двойките ключ-стойност:
  • D = {«ден»: «петък», «месец»: «декември», «година»: «2017»}.
  • Г.
  • {"ден": "петък", "месец": "декември", "година": "2017"}.
  • За да получите стойността, трябва да посочите името на речника с ключ в квадратни скоби:
  • D ["day"].
  • "петък".
  • За да добавите ключ, трябва да посочите препратка към стойността:
  • D ["time"] = "сутрин" # добавя двойка ключ-стойност.
  • Г.
  • {"ден": "петък", "месец": "декември", "година": "2017", "време": сутрин "}.
  • Речниците предоставят най-гъвкавия тип обекти. В езиците на ниско ниво те могат да заменят алгоритми и структури от данни. Вместо да въвеждате ръчно, речниците осигуряват бързо търсене по индекс или ключ.

    Поправки

    Корекциите са същите списъци само в кръгли скоби. Те могат да съхраняват произволен брой данни от всякакъв тип, но поддържат по-малък набор от операции. Основната им разлика е неотменимостта. Кортежите осигуряват целостта и сигурността на обектите, поради което понякога се използват вместо списъка с типове в големите програми. В Python 3, типът данни на tuple има два метода, които са изброени: .index (), за да се получи индексът .count (), за да се брои броя на идентичните обекти:
  • my_tuple = (123 4).
  • my_tuple.index
    # във втората позиция е числото 1.
  • 1.
  • my_tuple.count

    # ще покаже колко единици в последователността.

  • 1.
  • Това са основните вградени типове данни в Python. Има и допълнителни обекти, които могат да се считат за основни. Например множествени или нестандартни цифрови типове, като матрици, вектори, фиксирани числаточност. За работа с тях се изисква сериозно потапяне в принципите на математиката и дизайна на Python.

    Свързани публикации