Python: типове данни, условия, изисквания и примери
Типовете данни в Python са основата, на която е изграден кодът. В езиците на високо ниво данните се представят като обекти, върху които се извършват действията, предписани в кода. Типизирането определя и набор от приемливи методи и операции.
съдържание
Какви видове данни са налични?
Основните типове данни в Python са вградените колекции. Те включват числа, линии и списъци. Но има обекти, създадени самостоятелно, с помощта на дизайни и езикови библиотеки. Обикновено те са необходими за решаване на сложни софтуерни задачи, а не за ежедневна работа.
В Python няма нужда да внедрявате обектите си. Езикът предлага готови и мощни инструменти за разработка, които са много по-лесни за използване. Те ви позволяват да работите с голямо количество данни, с най-малко усилия и време.
Вградените типове са ефективни структури от данни. Поради факта, че те се изпълняват на езика C, обектите осигуряват висока скорост и ефективност на кода. Самосъздадените обекти могат да изпълняват нестандартни задачи. Например операции със стекове. Но те са много по-бавни от стандартните списъци.
Основните вградени типове данни Python включват:
- Числа: 1234, 3.1415, 3 + 4j, Десетични, Фракция.
- Линиите: "спам", "brsquo-a x01c".
- Списъци: [1, [2, "три"], 4].
- Речници: {"food": "spam"}.
- Публикации: (1, "спам", 4, "U").
- Задава настройките ("abc"), {"a", "b"}.
- Булеви променливи.
Изброените типове се считат за основни. При работа с тях се използват определени синтаксични конструкции. За низове това са цитати или скоби за речници.
Какво е динамичното пишене?
В Python няма конструкции за деклариране на променливи. Обектът автоматично се определя от синтаксиса по време на изпълнението на кода, който се нарича динамично типизиране. Ако напишете 6.78 в IDLE, той ще създаде и върне цифров тип данни. Изразът в квадратни скоби създайте списък, в кавички - низ. Друг начин да зададете тип е да зададете стойност, като използвате знака "=":
- > my_string = "Здравей, Питън!"
След поколение всеки обект получава определено място в паметта и набор от свои собствени операции. Но първоначално имената или променливите нямат никакви значения и концепции за типа. Всъщност те са препратки към обекти. следователно динамично типизиране дава възможност за определяне на единична променлива от няколко стойности.
Всички езикови обекти принадлежат към два класа: заменяеми и неизменни типове данни. В Python втората група включва int, float, bool, str, tuple. Тези обекти не могат да се променят, но някои от тях могат да бъдат преобразувани чрез динамично написване:
- > x = "123"
- > int (x)
- 123
- > плувка (х)
- 123,0
Повечето от последователностите принадлежат на обекти, които могат да бъдат променяни - списъци, речници, набор. Те осигуряват гъвкава работа с кода.
Референтни броячи
Цялата информация за типа се съхранява не в името, а в обекта, посочен от променливата. След като името получи препратка към нов обект, преводачът изтрива стария, освобождавайки паметта.
- > x = 12 # присвоява число на променливата x.
- > x = "спам" # x става низ.
- > отпечатайте (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 and False. Това са предварително дефинирани цифрови променливи. Вярно е 1 и False е 0. Ако напишете интерпретатора на True + 5, ще получите 6. Използването на езиковите конструкции позволява на всеки обект от стандартната библиотека да се превърне в тип bool.
Реални плаващи и сложни числа
В Python типа данни за флота използва цифрови буквали с десетична точка или незадължителен експонент: 1.23, 1., 3.14e-10, 4.0e + 210. За да работите с float, прилагайте същите стандартни математически оператори, както и за числа int.
Ако е необходимо, можете да извършите преобразуване на типове данни. В Python функциите int () и round () се използват за това:
- > х = 1.8.
- > y = 1.8.
- > int (x).
- 1 # функция int () изхвърля частичната част.
- > кръг (y).
- 2 # функцията round () закръглява цяло число.
Типът комплекс са сложни числа, състоящи се от две стойности на флоат. Първата е реална част и е достъпна като атрибут .real. Втората част се нарича с .imag и представлява въображаемата част на обекта.
Литералите на сложните числа са написани, както следва:
- > my_number = -89.5 + 2.125J
- > my_number.real, my_number.imag
- (-89.5, 2.125)
Комплексните числа са неизменни типове данни в Python. Трансформационните операции за сложни обекти са невъзможни, всеки опит да се направи това веднага ще предизвика съобщение за грешка.
линии
Низът е обект, предназначен за съхранение на последователност от Unicode знаци. Той записва текстова и цифрова информация. Линейни линии винаги са затворени в кавички.
Линиите имат дължина, която може да бъде изчислена от функцията len ():
- > x = "Здравейте, Python!".
- > Лен (x).
- 18.
Всеки елемент има свой собствен индекс или позицията, по която може да се извлече:
- > х [7].
- "С".
- > x [2].
- "P".
Тъй като низовете са последователности, те поддържат операции за свързване със знака + и повторение с "*":
- > х * 3.
- - Здравей, Питон, здравей, Питон, здравей, Питън!
- > x + "123".
- - Здравей, Питон!
Струнните, като цифрите, са неизменни видове. Нито една от горните операции не е променила стойността на променливата x. Всеки път, когато е създаден нов низов обект.
списъци
Списъците в Python са представени под формата на подредени колекции от данни. Те могат да бъдат от всякакъв размер и да съдържат всякакви предмети. Тъй като списъците са вид последователност, за тях се прилагат следните низови методи:
- > L = [123, "spam", "var", 1.23] # Списък на четири предмета от различен тип.
- > len (L) # Броят на елементите в списъка.
- 4.
Списъците се отнасят до типовете данни, които се променят в Python. Използвайки функциите, можете да промените броя на елементите:
- > L.append (0) # Добавя се нов обект в края на списъка.
- > L.
- [123, "спам", "var", 1,23, 0].
- > L.pop (2) # Премахва елемент от средата на списъка.
- «Var».
речници
Речниците са картографиране на данни. Това е фундаментално нов тип обекти, различни от списъци и редове. Достъпът до елементите е възможен само чрез клавишите. Литературите на речника са затворени в скоби и се състоят от двойки "ключ: значение":
- > D = {ден: петък, месец: декември, година: 2017}.
- > D.
- {Ден: петък, месец: декември, година: 2017}.
За да получите стойността, трябва да посочите името на речника с ключа в квадратни скоби:
- > D ["ден"].
- "Петък".
За да добавите ключ, трябва да посочите препратка към стойността:
- > D ["време"] = "сутрин" # добавя двойка "ключ: стойност".
- > D.
- {Ден: петък, месец: декември, година: 2017, време: сутрин.
Речниците представляват най-гъвкавия вид обекти. На езиците на ниско ниво те могат да заместят алгоритмите за търсене и структурите на данните. Вместо ръчно въвеждане, речниците осигуряват бързо търсене по индекс или по ключ.
кортежи
Думите са същите, само в скоби. Те могат да съхраняват всякакъв брой данни от всякакъв вид, но поддържат по-малък набор от операции. Основната им разлика е непостоянството. Tuples осигуряват целостта и безопасността на обектите, поради което понякога се използват вместо големите програми вместо списъка.
В Python 3 типът на псевдонамерите има два метода, които изброяват: .index () за извличане на индекса на елементите и .count (), за да броят броя идентични обекти:
- > my_tuple = (1, 2, 3, 4).
- > my_tuple.index (2) # във втората позиция е номер 1.
- 1.
- > my_tuple.count (1) # показва колко единици в последователността.
- 1.
Това са основните вградени типове данни в Python. Има и други обекти, които могат да се считат за основни. Например, множества или нестандартни числови типове, като матрици, вектори, числа с фиксирана точност. За да работите с тях, се нуждаете от сериозно потапяне в принципите на математиката и конструкциите на Питон.
- Обектно-ориентирано програмиране
- Python е средата за разработка. Python 3 за начинаещи
- Какви са данните? Видове данни
- Питън за начинаещи
- Питон - какво е това? Език за програмиране на високо ниво
- Типизирането е .. Типизиране в различни области на дейност
- Скриптови езици за програмиране: задачи, функции и предимства
- Йерархичен модел на данните
- Програмиране в Python: Списък
- Вход и изход в Python. Въвеждане и отпечатване
- Програмиране в Python. Работа с низове
- Как мога да намеря останалата част от разделянето в Python?
- Условното изграждане на. Питон: необятността и простотата на езика
- Функции в Python: def. Python 3 за начинаещи
- Обектно-ориентирано програмиране в Python: класове, описание и функции
- Какво представляват обектите на str в Python?
- Работа с файлови обекти: отворете, прочетете и пишете на файлове в Python
- Условни твърдения if / else в Python: синтаксис и приложение
- Видове данни
- Какви са типовете данни в Pascal?
- Основни типове данни Mysql