Структура программы на языке python операции переменные и литералы типы данных

Хотя в Python существует множество типов данных, есть среди них наиболее распространенные. Например, следующие:

  1. int — этот тип данных состоит из целых чисел.
  2. float — этот тип используется для работы с десятичными числами.
  3. str — переменная с типом str (от string — строка) хранит данные в виде текстовых строк.

Где используется

  • Данные используются в программирования повсеместно, поэтому важно понимать, с какими именно вы сейчас работаете, и какие последствия это накладывает на процесс взаимодействия. Существует множество типов данных, но только некоторые из них используются каждым программистом.
  • int — тип данных для работы с целыми числами, а float — для работы с числами с плавающей точкой. str хранит данные в строковом формате и может включать буквы, символы и цифры. В то же время в int и float использовать символы нельзя — только числа.
  • тип bool состоит всего из двух значений: True или False . Важно отметить, что при инициализации или присваивании значения типа bool True или False нужно вводить без кавычек. Строковые же значения наоборот всегда заключены в кавычки.

Рекомендации по работе с типами данных

  1. Нужно всегда помнить о следующих особенностях типов данных: их форматах, областях применения и возможностях.
  2. Строковые значения всегда заключены в кавычки, тогда как int , float или bool записываются без них.

Примеры работы с разными типами данных

Уроки Python — Типы данных, переменные


>>> my_сars_number = 3
>>> my_сars_color = «Бронза, зеленый, черный»
>>> print(my_сars_number)
>>> print(my_сars_color)
3
Бронза, зеленый, черный

В этом примере были созданы переменные двух типов данных, после чего они были выведены на экран. my_сars_number — это целое число ( int ), а my_сars_color — строка ( str ).

Рассмотрим порядок выполнения этого года:

  1. В первой строке создается переменная my_сars_number , и ей присваивается значение 3. Это внутренний процесс, поэтому увидеть результат этой операции не выйдет, только если не попробовать вывести значение переменной.
  2. На второй строке создается еще одна переменная, которой присваивается свое значение.
  3. На 3 и 4 строках ранее созданные переменные выводятся на экран.

Советы:

А зачем типы данных вообще нужны в Python? Этот вопрос наверняка будет интересовать в первую очередь начинающих программистов.

  1. Если подумать о внутреннем устройстве компьютера, то память в нем занимается распределением, а центральный процессор отвечает за вычисления. Благодаря типам данных компьютер знает, как распределять память, для чего ее использовать и какие операции выполнять с каким типом данных.
  2. Отличное сравнение в данном случае — контейнеры для продуктов. Типы данных можно воспринимать как разные контейнеры. В зависимости от типа еды, ее нужно размещать в соответствующих емкостях.
  3. С другой стороны, если конкретные данные — это целое число, то компьютер может не думать о конвертации их в нижний или верхний регистр, поиске гласных и так далее. Если строка — то здесь уже арифметические операции, поиск квадратного корня, конвертация и прочие команды становятся нерелевантными.

Python для начинающих. Как работают переменные в Python. #2

Создадим число с плавающей точкой.

>>> miami_temp_today = 103.40
>>> print(miami_temp_today)
103.4

В этом примере создаем число с плавающей точкой и выводим его на экране.

Продвинутые концепции

В Python есть и много других типов данных, например:

  • байты;
  • комплексные числа;
  • булевые значения.

Есть даже и другие значения в других областях: дата, время, GPS-координаты и так далее. В будущем полезно использовать их особенно в крупных проектах. Но пока что остановимся на базовых.

Посмотрим на булевый тип. Это довольно простая концепция, но более сложный тип данных. Основная сложность в том, что мы не сталкиваемся с таким типом в реальном мире, и поэтому порой его сложновато воспринимать. Булевый тип можно воспринимать как переключатель. Он может быть либо включенным, либо выключенным. В Python это либо True , либо False .

Важно запомнить, что значения этого типа не должны быть заключены в кавычки. Это их основное отличие от строк. По сути, True и «True» — это два разных типа данных в Python: булевое и строка.

В более продвинутых примерах булевые типы окажутся очень полезными.

В следующем примере может показаться, что используется строка, но на самом деле это значение булевого типа. Оно может быть либо True , либо False .

Читайте также:
Задача написать программу которая вводит с клавиатуры 5 чисел и выводит их в возрастающем порядке

Источник: pythonru.com

Типы данных. Переменные

В реальной жизни мы совершаем различные действия над окружающими нас предметами, или объектами. Мы меняем их свойства, наделяем новыми функциями. По аналогии с этим компьютерные программы также управляют объектами, только виртуальными, цифровыми. Пока не дойдем до уровня объектно-ориентированного программирования, будем называть такие объекты данными.

Очевидно, данные бывают разными. Часто компьютерной программе приходится работать с числами и строками. Так ранее мы работали с числами, выполняя над ними арифметические операции. Операция сложения выполняла изменение первого числа на величину второго, а умножение увеличивало одно число в количество раз, соответствующее второму.

Числа в свою очередь также бывают разными: целыми, вещественными, могут иметь огромное значение или очень длинную дробную часть.

При знакомстве с языком программирования 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 «», line 1, in TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

Здесь в строке TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ интерпретатор сообщает, что произошла ошибка типа – неподдерживаемый операнд для типов int и str .

Изменение типов данных

Приведенную выше операцию все-таки можно выполнить, если превратить число 1 в строку «1». Для изменения одних типов данных в другие в языке Python предусмотрен ряд встроенных в него функций (что такое функция в принципе, вы узнаете в других уроках). Поскольку мы пока работаем только с тремя типами ( int , 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 «», line 1, in ValueError: invalid literal for int() with base 10: ‘hi’

Здесь возникла ошибка значения ( ValueError ), так как передан литерал (в данном случае строка с буквенными символами), который нельзя преобразовать к числу с основанием 10. Однако функция int не такая простая:

>>> int(‘101’, 2) 5 >>> int(‘F’, 16) 15

Если вы знаете о различных системах счисления, то поймете, что здесь произошло.

Обратим внимание еще на одно. Данные могут называться значениями, а также литералами. Эти три понятия («данные», «значение», «литерал») не обозначают одно и то же, но близки и нередко употребляются как синонимы. Чтобы понять различие между ними, места их употребления, надо изучить программирование глубже.

Переменные

Данные хранятся в ячейках памяти компьютера. Когда мы вводим число, оно помещается в какую-то ячейку памяти. Но как потом узнать, куда именно? Как впоследствии обращаться к этим данными? Нужно как-то запомнить, пометить соответствующую ячейку.

Раньше, при написании программ на машинном языке, обращение к ячейкам памяти осуществляли с помощью указания их регистров, то есть конкретно сообщали, куда положить данные и откуда их взять. Однако с появлением ассемблеров при обращении к данным стали использовать словесные переменные, что куда удобней для человека.

Читайте также:
Признаки заражения компьютера и антивирусные программы

Механизм связи между переменными и данными может различаться в зависимости от языка программирования и типов данных. Пока достаточно запомнить, что в программе данные связываются с каким-либо именем и в дальнейшем обращение к ним возможно по этому имени-переменной.

Слово «переменная» обозначает, что сущность может меняться, она непостоянна. Действительно, вы увидите это в дальнейшем, одна и та же переменная может быть связана сначала с одними данными, а потом – с другими. То есть ее значение может меняться, она переменчива.

В программе на языке Python, как и на большинстве других языков, связь между данными и переменными устанавливается с помощью знака = . Такая операция называется присваивание (также говорят «присвоение»). Например, выражение sq = 4 означает, что на объект, представляющий собой число 4, находящееся в определенной области памяти, теперь ссылается переменная sq , и обращаться к этому объекту следует по имени sq .

Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:

  1. Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
  2. Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
  3. Имя переменной должно начинаться с буквы или символа подчеркивания (_), но не с цифры.
  4. Имя переменной не должно содержать пробелы.

Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать, то есть написать имя и нажать 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 вместо имен переменных на самом деле используются их значения, то есть числа 100, 5 и 7.

Практическая работа

  1. Переменной var_int присвойте значение 10, var_float — значение 8.4, var_str — «No».
  2. Значение, хранимое в переменной var_int , увеличьте в 3.5 раза. Полученный результат свяжите с переменной var_big .
  3. Измените значение, хранимое в переменной var_float , уменьшив его на единицу, результат свяжите с той же переменной.
  4. Разделите var_int на var_float , а затем var_big на var_float . Результат данных выражений не привязывайте ни к каким переменным.
  5. Измените значение переменной var_str на «NoNoYesYesYes». При формировании нового значения используйте операции конкатенации ( + ) и повторения строки ( * ).
  6. Выведите значения всех переменных.

Примеры решения и дополнительные уроки в pdf-версии курса

X Скрыть Наверх

Python. Введение в программирование

Источник: younglinux.info

Python. Урок 3. Типы и модель данных

Follow us on Google Plus Follow us on rss

В данном уроке разберем как Python работает с переменными и определим какие типы данных можно использовать в рамках этого языка. Подробно рассмотрим модель данных Python, а также механизмы создания и изменения значения переменных.

Немного о типизации языков программирования

Если достаточно формально подходить к вопросу о типизации языка Python, то можно сказать, что он относится к языкам с неявной сильной динамической типизацией.

Неявная типизация означает, что при объявлении переменной вам не нужно указывать её тип, при явной – это делать необходимо. В качестве примера языков с явной типизацией можно привести Java, C++. Вот как будет выглядеть объявление целочисленной переменной в Java и Python.

int a = 1;
a = 1

Также языки бывают с динамической и статической типизацией. В первом случае тип переменной определяется непосредственно при выполнении программы, во втором – на этапе компиляции (о компиляции и интерпретации кратко рассказано в уроке 2). Как уже было сказано Python – это динамически типизированный язык, такие языки как С, C#, Java – статически типизированные.

Сильная типизация не позволяет производить операции в выражениях с данными различных типов, слабая – позволяет. В языках с сильной типизацией вы не можете складывать например строки и числа, нужно все приводить к одному типу. К первой группе можно отнести Python, Java, ко второй – С и С++.

За более подробным разъяснением данного вопроса советуем обратиться к статье “Ликбез по типизации в языках программирования” .

Типы данных в Python

В Python типы данных можно разделить на встроенные в интерпретатор (built-in) и не встроенные, которые можно использовать при импортировании соответствующих модулей.

К основным встроенным типам относятся:

  1. None (неопределенное значение переменной)
  2. Логические переменные (Boolean Type)
  3. Числа (Numeric Type)
  1. int – целое число
  2. float – число с плавающей точкой
  3. complex – комплексное число
  1. list – список
  2. tuple – кортеж
  3. range – диапазон
  1. str
  1. bytes – байты
  2. bytearray – массивы байт
  3. memoryview – специальные объекты для доступа к внутренним данным объекта через protocol buffer
  1. set – множество
  2. frozenset – неизменяемое множество
  1. dict – словарь
Читайте также:
Какие программы продаются в спец упаковке с сопровождающей документацией

Модель данных

Рассмотрим как создаются объекты в памяти, их устройство, процесс объявления новых переменных и работу операции присваивания.

Для того, чтобы объявить и сразу инициализировать переменную необходимо написать её имя, потом поставить знак равенства и значение, с которым эта переменная будет создана. Например строка:

b = 5

объявляет переменную b и присваивает ей значение 5.

Целочисленное значение 5 в рамках языка Python по сути своей является объектом. Объект, в данном случае – это абстракция для представления данных, данные – это числа, списки, строки и т.п. При этом, под данными следует понимать как непосредственно сами объекты, так и отношения между ними (об этом чуть позже). Каждый объект имеет три атрибута – это идентификатор, значение и тип. Идентификатор – это уникальный признак объекта, позволяющий отличать объекты друг от друга, а значение – непосредственно информация, хранящаяся в памяти, которой управляет интерпретатор.

При инициализации переменной, на уровне интерпретатора, происходит следующее:

  • создается целочисленный объект 5 (можно представить, что в этот момент создается ячейка и 5 кладется в эту ячейку);
  • данный объект имеет некоторый идентификатор, значение: 5, и тип: целое число;
  • посредством оператора “=” создается ссылка между переменной b и целочисленным объектом 5 (переменная b ссылается на объект 5).

Имя переменной не должно совпадать с ключевыми словами интерпретатора Python. Список ключевых слов можно найти здесь . Также его можно получить непосредственно в программе, для этого нужно подключить модуль keyword и воспользоваться командой keyword.kwlist.

>>> import keyword >>> print(«Python keywords: «, keyword.kwlist)

Проверить является или нет идентификатор ключевым словом можно так:

>>> keyword.iskeyword(«try») True >>> keyword.iskeyword(«b») False

Для того, чтобы посмотреть на объект с каким идентификатором ссылается данная переменная, можно использовать функцию id().

>>> a = 4 >>> b = 5 >>> id(a) 1829984576 >>> id(b) 1829984592 >>> a = b >>> id(a) 1829984592

Как видно из примера, идентификатор – это некоторое целочисленное значение, посредством которого уникально адресуется объект. Изначально переменная a ссылается на объект 4 с идентификатором 1829984576, переменная b – на объект с id = 1829984592. После выполнения операции присваивания a = b, переменная a стала ссылаться на тот же объект, что и b.

Python data model work

Тип переменной можно определить с помощью функции type(). Пример использования приведен ниже.

>>> a = 10 >>> b = «hello» >>> c = (1, 2) >>> type(a) class ‘int’> >>> type(b) class ‘str’> >>> type(c) class ‘tuple’>

Изменяемые и неизменяемые типы данных

В Python существуют изменяемые и неизменяемые типы.

К неизменяемым (immutable) типам относятся: целые числа (int), числа с плавающей точкой (float), комплексные числа (complex), логические переменные (bool), кортежи (tuple), строки (str) и неизменяемые множества (frozen set).

К изменяемым (mutable) типам относятся: списки (list), множества (set), словари (dict).

Как уже было сказано ранее, при создании переменной, вначале создается объект, который имеет уникальный идентификатор, тип и значение, после этого переменная может ссылаться на созданный объект.

Неизменяемость типа данных означает, что созданный объект больше не изменяется. Например, если мы объявим переменную k = 15, то будет создан объект со значением 15, типа int и идентификатором, который можно узнать с помощью функции id().

>>> k = 15 >>> id(k) 1672501744 >>> type(k) class ‘int’>

Объект с id = 1672501744 будет иметь значение 15 и изменить его уже нельзя.

Если тип данных изменяемый, то можно менять значение объекта. Например, создадим список [1, 2], а потом заменим второй элемент на 3.

>>> a = [1, 2] >>> id(a) 47997336 >>> a[1] = 3 >>> a [1, 3] >>> id(a) 47997336

Как видно, объект на который ссылается переменная a, был изменен. Это можно проиллюстрировать следующим рисунком.

Пример изменяемого объекта

В рассмотренном случае, в качестве данных списка, выступают не объекты, а отношения между объектами. Т.е. в переменной a хранятся ссылки на объекты содержащие числа 1 и 3, а не непосредственно сами эти числа.

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

Раздел: Python Уроки по Python Метки: Python, Уроки Python

Python. Урок 3. Типы и модель данных : 12 комментариев

  1. Артем 25.04.2018 У Вас в коде
    >>> print “Python keywords: “, keyword.kwlist
    не хватает круглых скобок:
    >>> print(“Python keywords: “, keyword.kwlist)
  1. writer 25.04.2018 Спасибо! Поправил.

Источник: devpractice.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru