Типы данных. Переменные. Урок 4 курса «Python. Введение в программирование»
Данные и их типы
В реальной жизни мы совершаем различные действия над окружающими нас предметами, или объектами. Мы меняем их свойства, наделяем новыми функциями. По аналогии с этим компьютерные программы также управляют объектами, только виртуальными, цифровыми. Пока не дойдем до уровня объектно-ориентированного программирования, будем называть такие объекты данными.
Очевидно, данные бывают разными. Часто компьютерной программе приходится работать с числами и строками. Так на прошлом уроке мы работали с числами, выполняя над ними арифметические операции. Операция сложения выполняла изменение первого числа на величину второго, а умножение увеличивало одно число в количество раз, соответствующее второму.
Числа в свою очередь также бывают разными: целыми, вещественными, могут иметь огромное значение или очень длинную дробную часть.
При знакомстве с языком программирования Python мы столкнемся с тремя типами данных:
целые числа (тип
int
) – положительные и отрицательные целые числа, а также 0 (например, 4, 687, -45, 0).числа с плавающей точкой (тип
float
) – дробные, они же вещественные, числа (например, 1.45, -3.789654, 0.00453). Примечание: для разделения целой и дробной частей здесь используется точка, а не запятая.строки (тип
str
) — набор символов, заключенных в кавычки (например, «ball», «What is your name?», ‘dkfjUUv’, ‘6589’). Примечание: кавычки в Python могут быть одинарными или двойными; одиночный символ в кавычках также является строкой, отдельного символьного типа в Питоне нет.
Операции в программировании
Операция – это выполнение каких-либо действий над данными, которые в данном случае именуют операндами. Само действие выполняет оператор – специальный инструмент. Если бы вы выполняли операцию постройки стола, то вашими операндами были бы доска и гвоздь, а оператором – молоток.
Так в математике и программировании символ плюса является оператором операции сложения по отношению к числам. В случае строк этот же оператор выполняет операцию
>>> 10.25 + 98.36 108.61 >>> 'Hello' + 'World' 'HelloWorld'
Здесь следует для себя отметить, что то, что делает оператор в операции, зависит не только от него, но и от типов данных, которыми он оперирует. Молоток в случае нападения на вас крокодила перестанет играть роль строительного инструмента. Однако в большинстве случаев операторы не универсальны. Например, знак плюса неприменим, если операндами являются, с одной стороны, число, а с другой – строка.
>>> 1 + 'a' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
Здесь в строке TypeError: unsupported operand type(s) for +: 'int' and 'str'
интерпретатор сообщает, что произошла ошибка типа – неподдерживаемый операнд для типов int
и str
.
Изменение типов данных
Приведенную выше операцию все-таки можно выполнить, если превратить число 1 в строку «1». Для изменения одних типов данных в другие в языке Python предусмотрен ряд встроенных в него функций (что такое функция в принципе, вы узнаете в других уроках). Поскольку мы пока работаем только с тремя типами (
, float
и str
), рассмотрим вызовы соответствующих им функций – int()
, float()
, str()
.
>>> str(1) + 'a' '1a' >>> int('3') + 4 7 >>> float('3.2') + int('2') 5.2 >>> str(4) + str(1.2) '41.2'
Эти функции преобразуют то, что помещается в их скобки соответственно в целое число, вещественное число или строку. Однако преобразовать можно не все:
>>> int('hi') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'hi'
Здесь возникла ошибка значения (ValueError
int
не такая простая:>>> int('101', 2) 5 >>> int('F', 16) 15
Если вы знаете о различных системах счисления, то поймете, что здесь произошло.
Обратим внимание еще на одно. Данные могут называться значениями, а также литералами. Эти три понятия («данные», «значение», «литерал») не обозначают одно и то же, но близки и нередко употребляются как синонимы. Чтобы понять различие между ними, места их употребления, надо изучить программирование глубже.
Переменные
Данные хранятся в ячейках памяти компьютера. Когда мы вводим число, оно помещается в какую-то ячейку памяти. Но как потом узнать, куда именно? Как впоследствии обращаться к этим данными? Нужно как-то запомнить, пометить соответствующую ячейку.
Раньше, при написании программ на машинном языке, обращение к ячейкам памяти осуществляли с помощью указания их регистров, то есть конкретно сообщали, куда положить данные и откуда их взять. Однако с появлением ассемблеров при обращении к данным стали использовать словесные
Механизм связи между переменными и данными может различаться в зависимости от языка программирования и типов данных. Пока достаточно запомнить, что в программе данные связываются с каким-либо именем и в дальнейшем обращение к ним возможно по этому имени-переменной.
Слово «переменная» обозначает, что сущность может меняться, она непостоянна. Действительно, вы увидите это в дальнейшем, одна и та же переменная может быть связана сначала с одними данными, а потом – с другими. То есть ее значение может меняться, она переменчива.
В программе на языке Python, как и на большинстве других языков, связь между данными и переменными устанавливается с помощью знака
. Такая операция называется присваивание (также говорят «присвоение»). Например, выражение sq = 4
означает, что на объект, представляющий собой число 4, находящееся в определенной области памяти, теперь ссылается переменная sq, и обращаться к этому объекту следует по имени sq.
Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:
Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
Имя переменной должно начинаться с буквы или символа подчеркивания (_), но не с цифры.
Имя переменной не должно содержать пробелы.
Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать, то есть написать имя и нажать Enter.
>>> sq = 4 >>> sq 4
Вот более сложный пример работы с переменными в интерактивном режиме:
>>> apples = 100 >>> eat_day = 5 >>> day = 7 >>> apples = apples - eat_day * day >>> apples 65
Здесь фигурируют три переменные: apples, eat_day и day. Каждой из них присваивается свое значение. Выражение apples = apples - eat_day * day
сложное. Сначала выполняется подвыражение, стоящее справа от знака равенства. После этого его результат присваивается переменной apples, в результате чего ее старое значение (100) теряется. В подвыражении apples - eat_day * day
Практическая работа
Переменной var_int присвойте значение 10, var_float — значение 8.4, var_str — «No».
Значение, хранимое в переменной var_int, увеличьте в 3.5 раза. Полученный результат свяжите с переменной var_big.
Измените значение, хранимое в переменной var_float, уменьшив его на единицу, результат свяжите с той же переменной.
Разделите var_int на var_float
Измените значение переменной var_str на «NoNoYesYesYes». При формировании нового значения используйте операции конкатенации (
+
) и повторения строки (*
).Выведите значения всех переменных.
Примеры решения и дополнительные уроки в pdf-версии и android-приложении курса
Переменная типа float
Типы данных: чем отличается тип данных int от float? Всем привет! Помогите пожалуйста, чем отличается тип данных int от float? Тип данных float 1 Какое масимальное целое может содержать float?
Поиск данных по Вашему запросу:
Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Дождитесь окончания поиска во всех базах.
По завершению появится ссылка для доступа к найденным материалам.
Содержание:
- Вещественные типы (double, float)
- Тип данных float
- Тип данных float – числа с плавающей точкой в Arduino IDE
- Ваш пароль
- Библиотека примеров приложений Java
- Типы данных С++
- Библиотека примеров приложений Java
- Переменные и типы данных в C++ — урок 2
- Java/Типы данных
- Переменные
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Тип переменных FLOAT
youtube.com/embed/c9qtxZjk-B8″ frameborder=»0″ allowfullscreen=»»/>Вещественные типы (double, float)
Понятие расширяемый означает то, что кроме встроенных типов данных, можно создавать свои типы данных. Мы будем изучать только основные из них. Вся таблица делится на три столбца. Во втором столбце указывается количество байт, которое отводится под переменную с соответствующим типом данных.
В третьем столбце показан диапазон допустимых значений. Обратите внимание на то, что в таблице все типы данных расположены от меньшего к большему. Но как Вы уже заметили, в круглых скобочках написано — логический тип данных, и это тоже верно. В строке 9 объявлена переменная типа bool , которая инициализирована значением Теоретически после строки 9 , в переменной boolean должно содержаться число 25, но на самом деле в этой переменной содержится число 1.
Как я уже говорил, число 0 — это ложное значение, число 1 — это истинное значение. Суть в том, что в переменной типа bool могут содержаться два значения — 0 ложь или 1 истина.
Тогда как под тип данных bool отводится целый байт, а это значит, что переменная типа bool может содержать числа от 0 до Для определения ложного и истинного значений необходимо всего два значения 0 и 1. Исходя из этой ситуации, договорились использовать числа от 2 до как эквивалент числу 1, то есть истина.
Вот именно по этому в переменной boolean содержится число 25 а не 1. В строках 10 объявлен оператор условного выбора if , который передает управление оператору в строке 11 , если условие истинно, и оператору в строке 13 , если условие ложно.
Результат работы программы смотреть на рисунке 1. То есть, каждому символу соответствует определённое число из диапазона [0;].
При инициализации строкового массива некоторой строкой, после знака равно ставятся двойные кавычки, в которых и записывается некоторая строка. Результат работы программы показан на рисунке 2.
Целочисленные типы данных используются для представления чисел. В зависимости от компилятора, размер занимаемой памяти и диапазон принимаемых значений могут изменяться.
В таблице 1 все диапазоны принимаемых значений и размеры занимаемой памяти взяты для компилятора MVS Причём все типы данных в таблице 1 расположены в порядке возрастания размера занимаемой памяти и диапазона принимаемых значений.
Диапазон принимаемых значений, так или иначе, зависит от размера занимаемой памяти. Соответственно, чем больше размер занимаемой памяти, тем больше диапазон принимаемых значений. Типы данных с плавающей точкой предназначены для хранения чисел с плавающей точкой.
В основном, типы данных с плавающей точкой нужны для решения задач с высокой точностью вычислений, например, операции с деньгами.
Осталось только показать, откуда взялись все эти диапазоны принимаемых значений и размеры занимаемой памяти. А для этого разработаем программу, которая будет вычислять основные характеристики всех, выше рассмотренных, типов данных. Данная программа выложена для того, чтобы Вы смогли просмотреть характеристики типов данных в своей системе. Не стоит разбираться в коде, так как в программе используются управляющие операторы, которые Вам, вероятнее всего, ещё не известны.
Для поверхностного ознакомления с кодом программы, ниже поясню некоторые моменты. Максимальное значение некоторого типа данных вычисляется по такой формуле:.
Пример работы программы можно увидеть на рисунке 3. Минимальное значение находится аналогично максимальному. К сожалению, для данной темы пока нет подходящих задач. Если у вас есть таковые на примете, отправте их по адресу: admin cppstudio. Мы их опубликуем! Для проверки пусть автор при выводе значения double попробует после возведения в степень отнять не 1, а 2 ничего не изменится или отнимется Данная статья неполна и некорректна.
Как ответ, тип double способен принимать значения до ! Объясните причину пожалуйста. Если диапазон принимаемых значений типа bool от 0 до ? Или он просто обрезает число до максимального допустимого? Диапазон значений bool только true либо false, 1 либо 0.
В таблице написано что диапазон значений от 0 до потому что физически переменная bool занимает в памяти 1 байт, который может содержать в себе значения от 0 до Но на практике, переменная bool принимает только 2 значения.
Любое значение отличное от нуля будет приниматься как true, хоть , хоть Ошибки нет. Доброго времени суток. Я пользуюсь средой Code Blocks. Может далее все станет ясно и пока не заморачиваться? Можешь смело писать int main. Сам я не сталкивался со случаями использования их в этой функции по этому не берусь объяснить в какой программе они могут понадобиться. Я так понял что любое число не равное нулю — равно единице для boul Независимо больше оно чем , или вобще со знаком минус, главное не ноль.
Нажмите, чтобы отменить ответ. Вы должны войти , чтобы оставить комментарий. Оценка: 4,76 голосов: 17 Чтобы проголосовать, вы должны зарегистрироваться.
Обсудить на форуме. Автор: admin. Дата: AlexD Диапазон значений вещественных чисел указан некорректно. Например, максимальный float не 2 , а 3. Войдите, чтобы ответить. VV Multimen Anastasija M Влад Топоревский Nikita Kravts Max Petrov Александр Михайлов Maxim Agarkov Я немного модифицировал программу с типом данных Bool и столкнулся с вопросом include «stdafx. Если ввожу число 0 — отдает false 0.
Ввожу 1 — true 1. А дальше начинается хоровод. Любое число больше единицы ломает программу. Что это моет быть? PayL Demond
Тип данных float
Язык Си считается языком системного программирования, хотя он удобен и для написания прикладных программ. Среди преимуществ языка Си следует отметить переносимость программ на компьютеры различной архитектуры и из одной операционной системы в другую, лаконичность записи алгоритмов, логическую стройность программ, а также возможность получить программный код, сравнимый по скорости выполнения с программами, написанными на языке ассемблера. Последнее связано с тем, что хотя Си является языком высокого уровня, имеющим полный набор конструкций структурного программирования, он также обладает набором низкоуровневых средств, обеспечивающих доступ к аппаратным средствам компьютера. Примеры программ приведены в разделе 7. Программа, написанная на языке Си, состоит из операторов. Каждый оператор вызывает выполнение некоторых действий на соответствующем шаге выполнения программы. При написании операторов применяются латинские прописные и строчные буквы, цифры и специальные знаки.
Переменная типа Char Переменная Char — это символ в одиночных очень большая переменная Переменная типа Float Переменные типа Float.
Тип данных float – числа с плавающей точкой в Arduino IDE
Назад Вперед. Согласно описанию Java, в этом языке программирования предусмотрены следующие типы данных: базовые; замещающие К базовым относится несколько численных типов, а также один логический тип. Ниже мы привели полный список численных типов:. Логический тип boolean может принимать только два значения: false и true. Они никаким образом не соотносятся со значениями численных типов. Поэтому вы не можете выполнить преобразование типа boolean, например, в тип int. Наш пример представляет собой автономную программу Java. Когда она запускается, управление передается методу main:. В этом методе мы последовательно выполняем ряд операций над переменными различных базовых типов.
Ваш пароль
Целочисленные типы различаются между собой только диапазонами возможных значений, например, для хранения номера элемента в таблице Менделеева пока хватит переменной типа byte. Ссылочные типы — это все остальные типы: классы, перечисления и интерфейсы, например, объявленные в стандартной библиотеке Java, а также массивы. Строки это объекты класса String , они очень распространены, поэтому в некоторых случаях обрабатываются отлично от всех остальных объектов. Строковые литералы записываются в двойных кавычках. Если требуется создать ссылку на один из примитивных типов данных, необходимо использовать соответствующий класс-обертку.
П еременные используются для хранения значений sic!
Библиотека примеров приложений Java
В этой статье мы продолжаем изучать программирование на Swift, языке, с помощью которого создаются приложения для iOS и программы для OS X. Сегодня вас ждет обзор типов данных языка программирования Swift, а также немного кода. При написании кода мы работаем с разными типами данных Swift. Базовые типы, которые используются чаще всего:. Мы уже познакомились с типом String строка символов , когда присвоили текстовое значение переменной.
Типы данных С++
Числа с плавающей запятой используют формат IEEE Института инженеров по электротехнике и электронике. Значения с одиночной точностью и типом float имеют 4 байта, состоят из бита знака, 8-разрядной двоичной экспоненты excess и битной мантиссы. Single-precision values with float type have 4 bytes, consisting of a sign bit, an 8-bit excess binary exponent, and a bit mantissa. Мантисса представляет число от 1,0 до 2,0. The mantissa represents a number between 1.
Но все же надо иметь представление о преобразованиях типов данных, потому расположена переменная типа double, а слева переменная типа float.
Библиотека примеров приложений Java
Одной из основных особенностей Java является то, что данный язык является строго типизированным. А это значит, что каждая переменная и константа представляет определенный тип и данный тип строго определен. Тип данных определяет диапазон значений, которые может хранить переменная или константа.
Переменные и типы данных в C++ — урок 2
Из школьного курса математики мы все знаем, что такое переменные. В программировании принципы довольно схожи. В программировании переменная, как и в математике, может иметь название, состоящее из одной латинской буквы, но также может состоять из нескольких символов, целого слова или нескольких слов. Например, переменная, имеющая целочисленный тип не может содержать ничего кроме целых чисел, а переменная с плавающей точкой — только дробные числа. Тип данных присваивается переменной при ее объявлении или инициализации.
Система типов Си — реализация понятия типа данных в языке программирования Си. Сам язык предоставляет базовые арифметические типы, а также синтаксис для создания массивов и составных типов.
Java/Типы данных
Каждый базовый тип данных занимает определенное количество байт памяти. Это накладывает ограничение на операции, в которые вовлечены различные типы данных. Рассмотрим следующий пример:. В данном коде мы столкнемся с ошибкой. Хотя и тип byte, и тип int представляют целые числа.
Переменные
Как и во многих языках программирования, в C есть своя система типов данных, которая используется для создания переменных. Тип данных определяет внутреннее представление данных, множество значений, которые может принимать объект, а также допустимые действия, которые можно применять над объектом. Представлен системным типом System. Все целочисленные литералы по умолчанию представляют значения типа int:.
Pythonicway — Типы данных в Python
Переменные в Python:
Переменная в языке программирования это название для зарезервированного места в памяти компьютера, предназначенное для хранения значений. Это означает, что когда вы создаете переменную, вы на самом деле резервируете определенное место в памяти компьютера.
Основываясь на типе данных переменной, интерпретатор выделяет необходимое количество памяти и решает, что может находится в зарезервированной области памяти.
Для понимания, можете думать о переменной как о коробке, в которую можно положить любую вещь, но только определенного размера. Размер в данном примере будет типом переменной. Это не совсем верное определение, но оно дает общее представление о картине в целом.
Присвоение значения переменной:
В Python вам не нужно объявлять тип переменной вручную (как, например в С++). Объявление происходит автоматически (это называется динамическая типизация), когда вы присваиваете значение переменной. Знак равенства ( = ) используется для присвоения значения переменной.
Операнд по левую сторону от знака равно ( = ) это имя переменной, операнд по правую сторону — значение присвоенное этой переменной.
Например:
country = "Swiss" # Присвоить значение Swiss переменной под названием country age = 23 # Присвоение значения 23 переменной age print country print age
При выполнении, данный код выведет:
Swiss 23
Множественное присвоение значений:
В Python возможно присваивать одно значение нескольким переменным сразу. Например:
a = b = c = 1
В данном создается объект со значением 1, и все 3 переменные указывают на область в памяти, в которой он находится.
Встроенные типы данных в Python:
Информация, сохраненная в памяти может быть разных типов данных. Например, возраст человека может быть числовым значением, а его адрес — буквенно-числовым. В Python существует множество стандартных типов данных, которые используются для хранения определенных значений и обладают своими специфическими методами.
К стандартным типам данных в Python относят:
- Числа (Numbers)
- Строка (String)
- Список (List)
- Кортеж (Tuple)
- Словарь (Dictionary)
- Сет (Set)
Числовой тип данных в Python:
Числовой тип данных в Python предназначен для хранения числовых значений. Это неизменяемый тип данных, что означает, что изменение значения числового типа данных приведет к созданию нового объекта в памяти (и удалению старого)
Числовые объекты создаются, когда вы присваиваете им значение. Например:
num1 = 23 num2 = 42
Также вы можете удалять числовой объект при помощи ключевого слова del. Синтаксис команды del следующий:
del num1 # удаляет переменную num1 del num2, num3 # удаляет обе переменные num2 за num3 за раз
В Python есть четыре вида числового типа данных:
- int (целое число)
- long (длинное целое число [может быть представлено в восьмеричной или шестнадцатеричной системе исчисления])
- float (число с плавающей точкой: -0.2, 0.0, 3.14159265 и т.д.)
- complex (комплексное число)
Примеры видов числового типа данных:
int | long | float | complex |
---|---|---|---|
1 | 51924361L | 0.0 | 3.14j |
102 | -0x19323L | 15. 20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
0 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
0b10 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
Строки в Python:
Под строками в Python подразумевается набор символов между кавычками. В Python можно использовать пары одинарных либо двойных кавычек. Из строк можно взять подстроку используя оператор нарезки ( [ ] и [ : ] ) с индексами от нуля для первого символа строки и до последнего. Так же можно использовать обратную индексацию от -1 для последнего символа до начала.
Оператор плюс ( + ) для строк соединяет две строки в одну, звездочка ( * ) оператор повторения. Например:
text = "Hello, Python!" print text[0] # Выводит первый символ print text[0:5] # Выводит подстроку text от 0 символа до 5 (включительно с нулевым, исключая пятый) print text[4:10] # Выведет строку от 4 символа до 10 (включая четвертый, исключая 10) print text[0:14] # Выведет всю строку print text[7:] # Выведет строку с 7 символа до конца print text[:5] # Выведет строку с начала до 5 символа. Аналогично print text[0:5] print text[:] # Выведет всю строку print text[-1] # Выводит последний символ print text[-1:-14] # Не сработает, выведет пустую строку print text[::2] # Третий аргумент - шаг. Выведет каждый второй символ print text[::-1] # Шаг отрицательный. Выведет фразу наоборот print text + "Nice to code you" # Выведет новую строку print text[-1] * 10 # Выведет 10 восклицательных знаков
В результате вы увидите следующее
Списки в Python:
Списки, пожалуй, самый универсальный составной тип данных в Python. Список состоит из элементов, разделенных запятыми, находящихся между квадратными скобками ( [ ] ). В определенной мере, списки подобны массивам в C. Единственной разницей является то, что элементы одного списка могут иметь разные типы данных.
Получить доступ к элементам, сохраненным в списке можно, точно так же, как и в строках, при помощи оператора нарезки ( [ ] и [:] ) и индексов, начиная с нуля и до конца. Знак плюс ( + ) объединяет два списка, а звездочка ( * ) — оператор повторения для списка. Например:
my_list =[True, 786, 3.14, 'text', 70.2] second_list =[123, 'text'] print my_list # Напечатает весь список print my_list[0] # Напечатает первый элемент списка print my_list[1:3] # Напечатает элементы списка со второго по третий print my_list[2:] # Напечатает элементы списка начиная с третьего print second_list *2 # Напечатает удвоенный список print my_list + second_list # Напечатает объединенные списки
В результате вы увидите:
[True, 786, 3. 14, 'text', 70.2] True [786, 3.14] [3.14, 'text', 70.2] [123, 'text', 123, 'text'] [True, 786, 3.14, 'text', 70.2, 123, 'text']
Кортежи в Python:
Кортеж это еще один составной тип данных, похожий на список. Кортеж состоит из ряда значений, разделенных запятыми, заключенными в круглые скобки ( ( ) ). Основным различием между списками и кортежами является то, что элементы кортежей не могут быть изменены. То есть, кортежи можно рассматривать как списки доступные только для чтения.
Если у вас нет необходимости изменять элементы списка, то для экономии места в памяти лучше использовать тип данных кортеж.
my_tuple =(True, 786, 3.14, 'text', 70.2) second_tuple =(123, 'text') print my_tuple # Печатает весь кортеж print my_tuple[0] # Печатает первый элемент print second_tuple *2 # Печатает удвоенный кортеж print my_tuple + second_tuple # Печатает объединенные кортежи
В результате вы получите:
(True, 786, 3. 14, 'text', 70.2) True (123, 'text', 123, 'text') (True, 786, 3.14, 'text', 70.2, 123, 'text')
При этом, следующие действия доступны для списков и недоступны для кортежей:
my_list = ["Rome", 23, ["cat","dog"], True, 3.14] my_tuple = ("Rome", 23, ["cat","dog"], True, 3.14) my_list[0] = "Paris" # Замена значения первого элемента сработает для списка my_tuple[0] = "Paris" # Та же операция для кортежа вызовет ошибку
Словари в Python:
Словари в Python это неотсортированная колекция элементов, доступ к которым осуществляется по ключу. То есть, каждому ключу словаря соответствует определенное значение. Ключом может быть любой неизменяемый тип данных (число, строка, кортеж), значением — любой тип данных.
Пары ключ, значение словаря заключаются в фигурные скобки ( { } ). Есть несколько способов создания словарей:
my_dict = { } # Создаем пустой словарь my_dict["country"] = "Mexico" # Присваиваем ключу country значение Mexico print my_dict["country"] # Выведет Mexico # Заполнение словаря при инициализации another_dict = {"number":23, 2: True, "my_list":[1,2,3]} print another_dict. keys() # Напечатает список всех ключей print another_dict.values() # Напечатает список всех значений
Данный код выведет следующее:
Обратите внимание, что ключи и значения выводятся не в том порядке, в котором мы их задавали.
Сеты в Python:
Сет в Python это еще один изменяемый, коллекционный тип данных, отличительной чертой которого является то, что он хранит только уникальные значания.
Создать сеты можно следующими способами:
# Создание пустого сета s = set() # Создание сета инициализацией s = {"hi", "bye"}
Для добавление элемента в сет используется метод add, для удаления — pop или remove. Добавление в сет уже существующего элемента не повлияет на сет. Сеты обладают множеством методов для работы с уникальными элементами, например difference — возвращает элементы сета отсутствующие в другом сете, intersection — наоборот, возвращает елементы сета присутствующие в другом сете.
Преобразование типов данных:
Иногда может возникнуть необходимость преобразовать один тип данных в другой. Для этого существуют специальные встроенные функции Python. Вот некоторые из них:
Функция | Описание |
---|---|
int(x [,base]) |
Преобразовывает х в целое число. Например, int(12.4) -> 12 |
long(x [,base] ) |
Преобразовывает х в long. Например, long(20) -> 20L |
float(x) |
Преобразовывает х в число с плавающей точкой. Например float(10) -> 10.0 |
complex(real [,imag]) |
Создает комплексное число. Например complex(20) -> (20+0j) |
str(x) |
Преобразовывает х в строку. Например str(10) -> ’10’ |
tuple(s) |
Преобразовывает s в кортеж. Например tuple(«hello») -> ( «h»,»e»,»l»,»l»,»o» ) |
list(s) |
Преобразовывает s в список. Например list(«Python») -> [ «P»,»y»,»t»,»h»,»o»,»n» ] |
dict(d) |
Создает словарь из d. Например dict( [ (1,2), (3,4) ] ) -> { 1:2, 3:4 } |
типов данных в C | int, float, char, double и т. д.
Анкит Васанкар
Типы данных указывают, какой тип данных хранится в переменной.
Тип переменной определяет, сколько места она занимает в памяти.
В C типы данных подразделяются на следующие типы:
- Базовый тип данных:
- Интервал
- символ
- поплавок
- двойной
- Производный тип данных:
- массив
- указатель
- структура
- соединение
- Пустой тип данных:
- пустота
- Тип данных перечисления:
- перечисление
Базовые типы данных
- char — char определяет символ, используемый для хранения одного символа.
Пример: char ch = ‘a’; - int — int используется для хранения целых чисел.
Пример: int count = 5; - float — float используется для определения чисел с плавающей запятой с одинарной точностью.
Пример: float x = 10.0f; - double — double используется для определения чисел с плавающей запятой с двойной точностью.
Пример: двойное число = 10,9999;
Различные типы данных также имеют разные диапазоны значений. Размер хранилища основных типов данных изменяется в зависимости от 8-, 16-, 32- или 64-разрядной операционной системы.
В следующей таблице приведены сведения о типах данных с требуемым размером хранилища и диапазонами значений в соответствии с 16-разрядной архитектурой:
Тип | Размер хранилища (байт) | Диапазон значений |
---|---|---|
символ | 1 | от -128 до 127 |
знаковый символ | 1 | от -128 до 127 |
символ без знака | 1 | от 0 до 255 |
целое число | 2 | -32 768 до 32 767 |
подписанное целое число | 2 | -32 768 до 32 767 |
беззнаковое целое число | 2 | от 0 до 65 535 |
короткое целое число | 2 | от −32 768 до 32 767 |
со знаком короткое целое | 2 | от −32 768 до 32 767 |
короткое целое без знака | 2 | от 0 до 65 535 |
длинное целое | 4 | -2 147 483 648 до 2 147 483 647 |
длинное целое число со знаком | 4 | -2 147 483 648 до 2 147 483 647 |
длинное целое число без знака | 4 | от 0 до 4 294 967 295 |
с плавающей запятой | 4 | от -3,4e38 до +3,4e38 (6 знаков после запятой) |
двойной | 8 | от -1,7e308 до +1,7e308 (15 десятичных разрядов) |
длинный двойной | 10 | от -1,7e4932 до +1,7e4932 (19-значная точность) |
В основном первичные типы данных бывают трех разновидностей: char int и float. Но как программист C справляется только с 3 типами данных. Дело в том, что они могут получить множество типов данных из этих трех типов.
Первичные типы данных могут быть нескольких типов. Например, char может быть unsigned-char (1 байт) или signed-char (1 байт), ИЛИ int может быть short-int (2 байта) или long-int (4 байта).
Примечание: Теперь C позволяет использовать сокращение от short int до short и от long int до long.
Целое число со знаком и без знака:
На диаграмме выше показано, что int может быть как коротким, так и длинным. Short int также называется short, а long int также известен как long. Теперь int может быть signed int или unsigned int. Также есть короткие беззнаковые целые и короткие знаковые целые. По умолчанию короткое целое со знаком — это короткое целое.
То же, что и короткие, длинные беззнаковые целые и длинные знаковые целые. По умолчанию длинное целое со знаком — это длинное целое.
Char, signed и unsigned:
Параллельно со signed int и unsigned int, аналогично существуют подписанные и unsigned char, каждый из которых имеет 1 байт. Знаковый char такой же, как обычный char. Signed char варьировался от -128 до +127. Unsigned char находится в диапазоне от 0 до 255.
Плавающие и двойные числа:
Плавающие занимают 4 байта в памяти. Если этого недостаточно, C предлагает double Тип данных, занимающий 8 байт в памяти. Если ситуация требует большего типа данных, чем double, то существует тип данных long double , который занимает в памяти 10 байт.
Производный тип данных
Производные типы данных включают типы указателей, типы массивов, типы структур, типы объединений, типы функций.
Типы данных перечисления
перечисление — это специальный тип данных, состоящий из набора констант.
Пустые типы данных
Void — это пустой тип данных, не имеющий значения.
Тип данных Void, используемый с функциями, не возвращающими значения.
Анкит Васанкар
Старший разработчик Java
Java 11 | Микросервисы | Реагировать | SQL
https://www. linkedin.com/in/ankitwasankar/
Категории Учебник по языку CБазовые типы данных в Python — Real Python
Смотреть сейчас Это руководство содержит соответствующий видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Основные типы данных в Python
Теперь вы знаете, как взаимодействовать с интерпретатором Python и выполнять код Python. Пришло время покопаться в языке Python. Сначала рассмотрим основные типы данных, встроенные в Python.
Вот что вы узнаете из этого руководства:
- Вы узнаете о нескольких основных числовых, строковых и логических типах , которые встроены в Python. К концу этого руководства вы будете знакомы с тем, как выглядят объекты этих типов и как их представлять.
- Вы также получите обзор встроенных в Python функций . Это предварительно написанные фрагменты кода, которые вы можете использовать для выполнения полезных действий. Вы уже видели встроенную функцию
print()
, но есть и много других.
Примите участие в викторине: Проверьте свои знания с помощью нашей интерактивной викторины «Основные типы данных в Python». По завершении вы получите балл, чтобы вы могли отслеживать свой прогресс в обучении с течением времени:
Пройдите тест »
Целые числа
В Python 3 практически нет ограничений на длину целочисленного значения. Конечно, оно ограничено объемом памяти в вашей системе, как и все остальное, но помимо этого целое число может быть сколь угодно длинным:
.>>>
>>> print(123123123123123123123123123123123123123123123123 + 1) 123123123123123123123123123123123123123123123124
Python интерпретирует последовательность десятичных цифр без префикса как десятичное число:
>>>
>>> печать(10) 10
Следующие строки могут быть добавлены к целому значению, чтобы указать основание, отличное от 10:
Префикс | Интерпретация | База |
---|---|---|
0b (ноль + строчная буква 'b' ) 0B (ноль + прописная буква 'B' ) | Двоичный | 2 |
00 (ноль + строчная буква 'o' ) 0O (ноль + прописная буква 'O' ) | Окталь | 8 |
0x (ноль + строчная буква 'x' ) 0X (ноль + заглавная буква 'X' ) | Шестнадцатеричный | 16 |
Например:
>>>
>>> печать (0o10) 8 >>> печать (0x10) 16 >>> печать (0b10) 2
Дополнительные сведения о целых числах с недесятичным основанием см. на следующих сайтах Википедии: Двоичный, Восьмеричный и Шестнадцатеричный.
Базовый тип целого числа Python, независимо от базы, используемой для его указания, называется int
:
>>>
>>> тип(10) <класс 'целое число'> >>> тип (0o10) <класс 'целое число'> >>> тип (0x10) <класс 'целое число'>
Примечание: Самое время упомянуть, что если вы хотите отобразить значение во время сеанса REPL, вам не нужно использовать функция печати()
. Просто введите значение в приглашении >>>
и нажмите Введите , чтобы отобразить его:
>>>
>>> 10 10 >>> 0x10 16 >>> 0b10 2
Эта функция используется во многих примерах из этой серии руководств.
Обратите внимание, что это не работает внутри файла сценария. Значение, появляющееся в отдельной строке в файле скрипта, ничего не делает.
Удалить рекламу
Числа с плавающей запятой
Тип float
в Python обозначает число с плавающей запятой. float
значения указываются с десятичной точкой. При желании можно добавить символ e
или E
, за которым следует положительное или отрицательное целое число, чтобы указать экспоненциальное представление:
>>>
>>> 4.2 4.2 >>> тип(4.2) <класс 'плавающий'> >>> 4. 4.0 >>> .2 0,2 >>> .4e7 4000000,0 >>> тип (.4e7) <класс 'плавающий'> >>> 4.2e-4 0,00042
Глубокое погружение: представление с плавающей запятой
Ниже приведена более подробная информация о том, как Python представляет числа с плавающей запятой внутри. Вы можете легко использовать числа с плавающей запятой в Python, не понимая их до этого уровня, поэтому не беспокойтесь, если это кажется слишком сложным. Информация представлена здесь, если вам интересно.
Почти все платформы представляют значения Python
.float
как 64-битные значения «двойной точности» в соответствии со стандартом IEEE 754. В этом случае максимальное значение, которое может иметь число с плавающей запятой, составляет приблизительно 1,8 ⨉ 10 308 . Python укажет число больше, чем это, строкойinf
:>>>
>>> 1.79e308 1,79е+308 >>> 1.8e308 инфСамое близкое к нулю число, отличное от нуля, приблизительно равно 5,0 ⨉ 10 -324 . Все, что ближе к нулю, эффективно равно нулю:
.>>>
>>> 5е-324 5е-324 >>> 1Э-325 0,0Числа с плавающей запятой внутренне представлены в виде двоичных дробей (с основанием 2). Большинство десятичных дробей не могут быть точно представлены как двоичные дроби, поэтому в большинстве случаев внутреннее представление числа с плавающей запятой является приближенным к фактическому значению. На практике разница между фактическим значением и представленным значением очень мала и обычно не должна вызывать значительных проблем.
Дополнительная литература: Дополнительную информацию о представлении чисел с плавающей запятой в Python и возможных ловушках см. в разделе «Арифметика с плавающей запятой: проблемы и ограничения» в документации Python.
Комплексные номера
Комплексные числа задаются как <действительная часть>+<мнимая часть>j
. Например:
>>>
>>> 2+3j (2+3к) >>> тип(2+3j) <класс 'сложный'>
Струны
Строки представляют собой последовательности символьных данных. Строковый тип в Python называется str
.
Строковые литералы могут быть заключены в одинарные или двойные кавычки. Все символы между открывающим разделителем и совпадающим закрывающим разделителем являются частью строки:
>>>
>>> print("Я строка") Я струна. >>> type("Я строка") <класс 'ул'> >>> print('Я тоже.') Я тоже. >>> type('Я тоже.') <класс 'ул'>
Строка в Python может содержать любое количество символов. Единственным ограничением являются ресурсы памяти вашей машины. Строка также может быть пустой:
.>>>
>>> '' ''
Что делать, если вы хотите включить символ кавычки как часть самой строки? Вашим первым импульсом может быть попробовать что-то вроде этого:
.>>>
>>> print('Эта строка содержит символ одинарной кавычки (').') SyntaxError: неверный синтаксис
Как видите, это не очень хорошо работает. Строка в этом примере открывается одинарной кавычкой, поэтому Python предполагает, что следующая одинарная кавычка, заключенная в круглые скобки, которая должна была быть частью строки, является закрывающим разделителем. Тогда последняя одинарная кавычка является случайной и вызывает показанную синтаксическую ошибку.
Если вы хотите включить в строку символ кавычек любого типа, самый простой способ — разграничить строку символом другого типа. Если строка должна содержать одинарную кавычку, разделите ее двойными кавычками и наоборот:
>>>
>>> print("Эта строка содержит символ одинарной кавычки (')". ") Эта строка содержит символ одинарной кавычки ('). >>> print('Эта строка содержит символ двойной кавычки ("").') Эта строка содержит символ двойной кавычки ("").
Escape-последовательности в строках
Иногда требуется, чтобы Python по-разному интерпретировал символ или последовательность символов в строке. Это может произойти одним из двух способов:
- Возможно, вы захотите подавить специальную интерпретацию определенных символов, которые обычно задаются в строке.
- Возможно, вы захотите применить специальную интерпретацию к символам в строке, которые обычно воспринимаются буквально.
Это можно сделать с помощью символа обратной косой черты ( \
). Символ обратной косой черты в строке указывает, что один или несколько символов, следующих за ним, должны обрабатываться особым образом. (Это называется escape-последовательностью, потому что обратная косая черта заставляет последующую последовательность символов «экранировать» ее обычное значение. )
Посмотрим, как это работает.
Подавление значения специального символа
Вы уже видели проблемы, с которыми можно столкнуться при попытке включить в строку символы кавычек. Если строка заключена в одинарные кавычки, вы не можете напрямую указать символ одинарной кавычки как часть строки, потому что для этой строки одинарная кавычка имеет особое значение — она завершает строку:
>>>
>>> print('Эта строка содержит символ одинарной кавычки (').') SyntaxError: неверный синтаксис
Указание обратной косой черты перед символом кавычки в строке «экранирует» его и заставляет Python подавлять его обычное специальное значение. Затем он интерпретируется просто как буквальный символ одинарной кавычки:
.>>>
>>> print('Эта строка содержит символ одинарной кавычки (\').') Эта строка содержит символ одинарной кавычки (').
То же самое работает и в строке, заключенной в двойные кавычки:
>>>
>>> print("Эта строка содержит символ двойной кавычки (\"). ") Эта строка содержит символ двойной кавычки ("").
Ниже приведена таблица escape-последовательностей, которые заставляют Python подавлять обычную специальную интерпретацию символа в строке:
Выход Последовательность | Обычная интерпретация символов после обратной косой черты | «Побег» Интерпретация |
---|---|---|
\' | Завершает строку открывающим разделителем одиночной кавычки | Буквенная одинарная кавычка ( ' ) символ |
| Завершает строку открывающим разделителем в виде двойной кавычки | Буквенная двойная кавычка ( " ) символ |
\<новая строка> | Завершает входную линию | Новая строка игнорируется |
\ | Вводит управляющую последовательность | Буквенная обратная косая черта ( \ ) символ |
Обычно символ новой строки завершает ввод строки. Так что нажимаю Ввод в середине строки заставит Python считать ее неполной:
>>>
>>> print('a SyntaxError: EOL при сканировании строкового литерала
Чтобы разбить строку на более чем одну строку, включите обратную косую черту перед каждой новой строкой, и новые строки будут игнорироваться:
>>>
>>> print('a\ ... б\ ... в') азбука
Чтобы включить буквальную обратную косую черту в строку, экранируйте ее обратной косой чертой:
>>>
>>> print('foo\\bar') фу\бар
Применение специального значения к символам
Далее предположим, что вам нужно создать строку, содержащую в себе символ табуляции. Некоторые текстовые редакторы позволяют вставлять символ табуляции прямо в код. Но многие программисты считают это плохой практикой по нескольким причинам:
- Компьютер может отличить символ табуляции от последовательности пробелов, но вы не можете. Для человека, читающего код, символы табуляции и пробела визуально неразличимы.
- Некоторые текстовые редакторы настроены на автоматическое удаление символов табуляции путем расширения их до соответствующего количества пробелов.
- Некоторые среды Python REPL не будут вставлять вкладки в код.
В Python (и почти во всех других распространенных компьютерных языках) символ табуляции может быть указан escape-последовательностью \t
:
>>>
>>> print('foo\tbar') фу бар
Управляющая последовательность \t
приводит к тому, что символ t
теряет свое обычное значение, буквальное t
. Вместо этого комбинация интерпретируется как символ табуляции.
Вот список escape-последовательностей, которые заставляют Python применять особое значение вместо буквальной интерпретации:
Escape-последовательность | «Побег» Интерпретация |
---|---|
\а | Колокольчик ASCII ( BEL ) символ |
\б | ASCII Backspace ( BS ) символ |
\ф | ASCII Formfeed ( FF ) символ |
\n | Перевод строки ASCII ( LF ) символ |
\N{<имя>} | Символ из базы данных Unicode с заданным <имя> |
\r | Возврат каретки ASCII ( CR ) символ |
\т | Горизонтальная вкладка ASCII ( TAB ) символ |
\uxxxx | Символ Unicode с 16-битным шестнадцатеричным значением xxxx |
\Uxxxxxxxxx | Символ Unicode с 32-битным шестнадцатеричным значением xxxxxxxx |
\v | Символ вертикальной табуляции ASCII ( VT ) |
\ооо | Символ с восьмеричным значением ooo |
\ххх | Символ с шестнадцатеричным значением hh |
Примеры:
>>>
>>> print("a\tb") а б >>> напечатать("а\141\x61") ааа >>> напечатать("а\нб") а б >>> print('\u2192 \N{стрелка вправо}') → →
Этот тип управляющей последовательности обычно используется для вставки символов, которые не могут быть легко сгенерированы с клавиатуры или которые трудно прочитать или распечатать.
Удалить рекламу
Необработанные строки
Необработанному строковому литералу предшествует r
или R
, что указывает на то, что escape-последовательности в связанной строке не переводятся. В строке остается символ обратной косой черты:
>>>
>>> print('foo\nbar') фу бар >>> print(r'foo\nbar') foo\nбар >>> print('foo\\bar') фу\бар >>> print(R'foo\\bar') фу\\бар
Строки в тройных кавычках
В Python есть еще один способ разграничения строк. Строки в тройных кавычках разделяются совпадающими группами из трех одинарных кавычек или трех двойных кавычек. Escape-последовательности по-прежнему работают в строках с тройными кавычками, но одинарные кавычки, двойные кавычки и символы новой строки могут быть включены без их экранирования. Это обеспечивает удобный способ создания строки как с одинарными, так и с двойными кавычками:
.>>>
>>> print('''Эта строка имеет одинарную (') и двойную (") кавычки.''') Эта строка имеет одинарную (') и двойную (") кавычки.
Поскольку новые строки могут быть включены без их экранирования, это также позволяет использовать многострочные строки:
>>>
>>> print("""Это строка, которая охватывает через несколько строк""") Это строка, которая охватывает через несколько строк
В предстоящем руководстве по структуре программы Python вы увидите, как можно использовать строки в тройных кавычках для добавления пояснительного комментария к коду Python.
Логический тип, логический контекст и «правдивость»
Python 3 предоставляет логический тип данных. Объекты типа Boolean могут иметь одно из двух значений: True
или False
:
>>>
>>> тип(правда) <класс 'буль'> >>> введите (ложь) <класс 'буль'>
Как вы увидите в следующих руководствах, выражения в Python часто оцениваются в логическом контексте, то есть они интерпретируются для представления истины или ложности. Значение, истинное в логическом контексте, иногда называют «истинным», а значение, ложное в логическом контексте, называют «ложным». (Вы также можете увидеть, что «falsy» пишется как «false».)
«Истинность» объекта типа Boolean очевидна: объекты типа Boolean, равные True
, являются истинными (true), а равные False
— ложными (false). Но небулевы объекты также могут оцениваться в логическом контексте и определяться как истинные или ложные.
Вы узнаете больше об оценке объектов в логическом контексте, когда столкнетесь с логическими операторами в следующем учебнике по операторам и выражениям в Python.
Встроенные функции
Интерпретатор Python поддерживает множество встроенных функций: шестьдесят восемь, начиная с Python 3.6. Вы раскроете многие из них в следующих обсуждениях по мере их появления в контексте.
Сейчас следует краткий обзор, просто чтобы дать представление о том, что доступно. См. документацию Python по встроенным функциям для более подробной информации. Многие из следующих описаний относятся к темам и концепциям, которые будут обсуждаться в будущих руководствах.
Математика
Функция | Описание |
---|---|
абс() | Возвращает абсолютное значение числа |
разделмод() | Возвращает частное и остаток от целочисленного деления |
макс() | Возвращает наибольший из заданных аргументов или элементов в итерируемом |
мин() | Возвращает наименьший из заданных аргументов или элементов в итерируемом |
мощность() | Возводит число в степень |
раунд() | Округляет значение с плавающей запятой |
сумма() | Суммирует элементы итерируемого |
Удалить рекламу
Преобразование типа
Функция | Описание |
---|---|
ascii() | Возвращает строку, содержащую печатное представление объекта |
бин() | Преобразует целое число в двоичную строку |
логическое() | Преобразует аргумент в логическое значение |
чр() | Возвращает строковое представление символа, заданного целочисленным аргументом |
сложный() | Возвращает комплексное число, составленное из аргументов |
с плавающей запятой() | Возвращает объект с плавающей запятой, созданный из числа или строки |
шестнадцатеричный() | Преобразует целое число в шестнадцатеричную строку |
целое() | Возвращает целочисленный объект, составленный из числа или строки |
окт() | Преобразует целое число в восьмеричную строку |
орд() | Возвращает целочисленное представление символа |
повтор() | Возвращает строку, содержащую печатное представление объекта |
стр() | Возвращает строковую версию объекта |
тип() | Возвращает тип объекта или создает объект нового типа |
Итераторы и итераторы
Функция | Описание |
---|---|
все() | Возвращает Истинно , если все элементы итерации истинны |
любой() | Возвращает True , если какие-либо элементы итерируемого объекта истинны |
перечислить() | Возвращает список кортежей, содержащих индексы и значения из итерируемого |
фильтр() | Фильтрует элементы из итерируемого |
итер() | Возвращает объект итератора |
лен() | Возвращает длину объекта |
карта() | Применяет функцию к каждому элементу итерируемого |
следующий() | Извлекает следующий элемент из итератора |
диапазон() | Генерирует диапазон целочисленных значений |
реверс() | Возвращает обратный итератор |
срез() | Возвращает объект среза |
отсортировано() | Возвращает отсортированный список из итерируемого |
zip() | Создает итератор, который объединяет элементы из итерируемых объектов |
Составной тип данных
Функция | Описание |
---|---|
bytearray() | Создает и возвращает объект класса bytearray |
байта() | Создает и возвращает объект размером байта (аналогичный bytearray , но неизменный) |
дикт() | Создает объект dict |
замороженный набор() | Создает замороженный набор объект |
список() | Создает список объект |
объект() | Создает новый безликий объект |
набор() | Создает набор объектов |
кортеж() | Создает кортеж объект |
Классы, атрибуты и наследование
Функция | Описание |
---|---|
метод класса() | Возвращает метод класса для функции |
делатр() | Удаляет атрибут из объекта |
getattr() | Возвращает значение именованного атрибута объекта |
хасаттр() | Возвращает True , если объект имеет заданный атрибут |
экземпляр() | Определяет, является ли объект экземпляром данного класса |
issubclass() | Определяет, является ли класс подклассом данного класса |
собственность() | Возвращает значение свойства класса |
setattr() | Устанавливает значение именованного атрибута объекта |
супер() | Возвращает прокси-объект, который делегирует вызовы методов родительскому или родственному классу |
Ввод/вывод
Функция | Описание |
---|---|
формат() | Преобразует значение в форматированное представление |
ввод() | Считывает ввод с консоли |
открыть() | Открывает файл и возвращает файловый объект |
печать() | Печатает в текстовый поток или консоль |
Переменные, ссылки и область действия
Функция | Описание |
---|---|
директор() | Возвращает список имен в текущей локальной области или список атрибутов объекта |
глобальные() | Возвращает словарь, представляющий текущую глобальную таблицу символов |
идентификатор() | Возвращает идентификатор объекта |
местные () | Обновляет и возвращает словарь, представляющий текущую локальную таблицу символов |
варс() | Возвращает атрибут __dict__ для модуля, класса или объекта |
Разное
Функция | Описание |
---|---|
вызываемый() | Возвращает True , если объект кажется вызываемым |
компиляция() | Компилирует исходный код в код или объект AST |
оценка() | Вычисляет выражение Python |
exec() | Реализует динамическое выполнение кода Python |
хеш() | Возвращает хеш-значение объекта |
помощь() | Вызывает встроенную справочную систему |
просмотр памяти() | Возвращает объект представления памяти |
статический метод() | Возвращает статический метод для функции |
__импорт__() | Вызывается импортом выписка |
Заключение
В этом руководстве вы узнали о встроенных функциях типов данных и , предоставляемых Python.
Все приведенные до сих пор примеры обрабатывали и отображали только постоянные значения. В большинстве программ вы, как правило, захотите создать объекты, значения которых изменяются по мере выполнения программы.
Перейдите к следующему руководству, чтобы узнать о переменных Python .
Примите участие в викторине: Проверьте свои знания с помощью нашей интерактивной викторины «Основные типы данных в Python». По завершении вы получите балл, чтобы вы могли отслеживать свой прогресс в обучении с течением времени:
Пройдите тест »
Смотреть сейчас Это руководство содержит связанный с ним видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным учебным пособием, чтобы углубить свое понимание: основных типов данных в Python
чисел Python — int, float и комплекс
- Числа используются для хранения числовых значений в программе.
- Python поддерживает три типа чисел — целое число, число с плавающей запятой и комплексное число.
- Python 2 также поддерживает «long», но в Python 3 он устарел.
- В Python числа также являются объектами. Их типы данных — int, float и complex.
- Существуют встроенные функции для создания чисел — int(), float() и complex().
- Мы также можем создать число, напрямую присвоив значение переменной.
- Комплексные числа в основном используются в геометрии, исчислении и научных вычислениях.
- Мы можем определить числовое представление объекта, реализуя методы __int__() , __float__() и __complex__() .
Как создать числовую переменную в Python?
х = 10 у = 10,55 г = 1 + 2j
Комплексный номер состоит из двух частей – действительного и мнимого . Мнимая часть обозначается суффиксом «j».
Как узнать тип числа?
Мы можем найти тип числа, используя функцию type().
печать (тип (х)) печать (тип (у)) печать (тип (г))
Вывод:
Числа Python1. Целое число
Целые числа — это целые числа. Они могут быть положительными или отрицательными. Они должны быть без десятичных значений.
Мы можем использовать функцию int() для получения целочисленного представления объекта. Объект должен реализовать метод __int__(), возвращающий целое число.
Давайте рассмотрим несколько примеров создания целых чисел в Python.
х = 10 печать (тип (х)) х = интервал ("10") печать (тип (х)) Данные класса: идентификатор = 0 защита __init__(я, я): self.id = я защита __int__(я): вернуть self.id г = данные (10) х = интервал (г) печать (х) печать (тип (х))
Вывод:
<класс 'int'> <класс 'целое число'> 10 <класс 'целое число'>
Класс String предоставляет метод __int__(), поэтому мы можем легко преобразовать строку в int с помощью метода int().
Если объект не реализует метод __int__(), функция int() выдает TypeError.
Python Int TypeErrorОбычно целые числа определяются по основанию 10. Но мы также можем определять их в двоичном, восьмеричном и шестнадцатеричном формате.
я = 0b1010 напечатать (я) # 10 я = 0xFF распечатать (я) # 255 я = 0o153 распечатать (я) # 107
2. Плавающая
Число с плавающей запятой содержит десятичные точки. Оно может быть положительным или отрицательным.
Мы можем использовать функцию float() для получения плавающего представления объекта. Объект должен реализовать метод __float__(), который возвращает число с плавающей запятой.
х = 10,50 печать (х) печать (тип (х)) х = число с плавающей запятой ("10,50") печать (х) печать (тип (х)) Данные класса: идентификатор = 0,0 защита __init__(я, я): self.id = я защита __float__(я): вернуть поплавок (self.id) г = данные (10,50) х = с плавающей запятой (г) печать (х) печать (тип (х)) г = данные (10) х = с плавающей запятой (г) печать (х) печать (тип (х))
Выход:
10,5 <класс 'плавающий'> 10,5 <класс 'плавающий'> 10,5 <класс 'плавающий'> 10,0 <класс 'плавающий'>
Строка обеспечивает реализацию метода __float__(). Вот почему мы можем легко преобразовать строку в число с плавающей запятой.
Если объект не реализует метод __float__(), мы получаем сообщение об ошибке:
TypeError: аргумент float() должен быть строкой или числом, а не «данными».
Если метод объекта __float__() не возвращает число с плавающей запятой, мы получаем сообщение об ошибке:
TypeError: Data.__float__ return non-float (тип int)
Мы также можем определить число с плавающей запятой в экспоненциальном представлении, используя «e» или «E». Здесь число после «E» указывает степень до 10.
х = 10,5e2 печать (х) х = 10,5Е2 печать (х)
Выход:
1050.0 1050,0
Объяснение : 10.5E2 = 10.5 * pow(10, 2) = 10.5 * 100 = 1050.0
3. Комплексное
Комплексное число состоит из двух частей – действительной и мнимой. Мнимая часть пишется с суффиксом «j».
Мы также можем использовать функцию complex() для создания комплексного числа. Мы можем передать два аргумента типа int или float в функцию complex(). Первый аргумент — действительная часть, а второй аргумент — сложная часть.
х = 1 + 2j печать (х) печать (тип (х)) х = -1 - 4j печать (х) печать (тип (х)) х = комплекс (1, 2) печать (х) печать (тип (х)) х = сложный (1) печать (х) печать (тип (х)) х = сложный (-1, -2,5) печать (х) печать (тип (х))
Выход:
(1+2j) <класс 'сложный'> (-1-4j) <класс 'сложный'> (1+2к) <класс 'сложный'> (1+0j) <класс 'сложный'> (-1-2,5Дж) <класс 'сложный'>
Мы также можем получить комплексное числовое представление объекта, определив метод __complex__(). Этот метод должен возвращать комплексное число.
класс Данные: def __init__(я, г, я): селф.реал = р самовоображаемый = я защита __complex__(я): возвратный комплекс (я. реальный, я. воображаемый) г = данные (10, 20) с = комплекс (г) печать (с) печать (тип (с))
Вывод:
Комплексное число PythonМы также можем преобразовать строку в комплексное число. Между реальной и мнимой частями не должно быть пробелов.
c = complex("1+2j") # работает нормально c = complex("1 + 2j") # ValueError: аргумент complex() является неверно сформированной строкой
Мы можем получить действительную часть комплексного числа, используя свойство «real». Мы можем получить мнимую часть комплексного числа, используя свойство «imag».
с = 10 + 20j print(c.real) # действительная часть print(c.imag) # мнимая часть
Некоторые другие методы комплексных чисел:
- conjugate(): возвращает комплексно-сопряженное число. Знак мнимой части меняется на противоположный.
- abs(): возвращает модуль комплексного числа.
с = 1 + 2j print(c.conjugate()) # (1-2j) печать (абс (с)) # 2.23606797749979
Преобразование типов чисел Python
Мы можем преобразовать int в float с помощью функции float(). Точно так же мы можем использовать функцию int() для преобразования числа с плавающей запятой в целое число.
Мы можем использовать функцию complex() для преобразования int или float в комплексное число, мнимая часть будет равна 0j.
Мы не можем преобразовать комплексное число в int или float.
я = 10 f = 10,55 # преобразование in в float f1 = число с плавающей запятой (я) печать (f1) печать (тип (f1)) # преобразование float в int i1 = интервал (f) печать (i1) печать (тип (i1)) # преобразование int и float в комплексные числа с = комплекс (я) печать (с) печать (тип (с)) с = комплекс (е) печать (с) печать (тип (с))
Выход:
10,0 <класс 'плавающий'> 10 <класс 'целое число'> (10+0j) <класс 'сложный'> (10.55+0д) <класс 'сложный'>
Заключение
Числа являются неотъемлемой частью любого языка программирования. Python поддерживает три типа чисел — int, float и комплекс. Числа в питоне также являются объектами типа — int, float и комплекс. Мы можем преобразовать объект в число, используя функции int(), float() и complex().