Переменные данные: Типы данных. Переменные. Урок 4 курса «Python. Введение в программирование»

Содержание

Типы данных. Переменные. Урок 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 предусмотрен ряд встроенных в него функций (что такое функция в принципе, вы узнаете в других уроках). Поскольку мы пока работаем только с тремя типами (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 "<stdin>", line 1, in <module>
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-версии и android-приложении курса


Python | Переменные и типы данных

Последнее обновление: 07.01.2022

Переменные

Переменные предназначены для хранения данных. Название переменной в Python должно начинаться с алфавитного символа или со знака подчеркивания и может содержать алфавитно-цифровые символы и знак подчеркивания. И кроме того, название переменной не должно совпадать с названием ключевых слов языка Python. Ключевых слов не так много, их легко запомнить:


False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

Например, создадим переменную:


name = "Tom"

Здесь определена переменная name, которая хранит строку «Tom».

В пайтоне применяется два типа наименования переменных: camel case и underscore notation.

Camel case подразумевает, что каждое новое подслово в наименовании переменной начинается с большой буквы. Например:


userName = "Tom"

Underscore notation подразумевает, что подслова в наименовании переменной разделяются знаком подчеркивания. Например:


user_name = "Tom"

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


# две разные переменные
name = "Tom"
Name = "Tom"

Определив переменную, мы можем использовать в программе. Например, попытаться вывести ее содержимое на консоль с помощью встроенной функции print:


name = "Tom"  # определение переменной name
print(name)   # вывод значения переменной name на консоль

Например, определение и применение переменной в среде PyCharm:

Отличительной особенностью переменной является то, что мы можем менять ее значение в течение работы программы:


name = "Tom"  # переменной name равна "Tom"
print(name)   # выводит: Tom
name = "Bob"  # меняем значение на "Bob"
print(name)   # выводит: Bob

Типы данных

Переменная хранит данные одного из типов данных. В Python существует множество различных типов данных. В данном случае рассмотрим только самые базовые типы: bool, int, float, complex и str.

Логические значения

Тип bool представляет два логических значения: True (верно, истина) или False (неверно, ложь). Значение True служит для того, чтобы показать, что что-то истинно. Тогда как значение False, наоборот, показывает, что что-то ложно. Пример переменных данного типа:


isMarried = False
print(isMarried)    # False

isAlive = True
print(isAlive)      # True

Целые числа

Тип int представляет целое число, например, 1, 4, 8, 50. Пример


age = 21
print("Возраст:", age)    # Возраст: 21

count = 15
print("Количество:", count) # Количество: 15

По умолчанию стандартные числа расцениваются как числа в десятичной системе. Но Python также поддерживает числа в двоичной, восьмеричной и шестнадцатеричной системах.

Для указания, что число представляет двоичную систему, перед числом ставится префикс 0b:


a = 0b11
b = 0b1011
c = 0b100001
print(a)    # 3 в десятичной системе
print(b)    # 11 в десятичной системе
print(c)    # 33 в десятичной системе

Для указания, что число представляет восьмеричную систему, перед числом ставится префикс 0o:


a = 0o7
b = 0o11
c = 0o17
print(a)    # 7 в десятичной системе
print(b)    # 9 в десятичной системе
print(c)    # 15 в десятичной системе

Для указания, что число представляет шестнадцатеричную систему, перед числом ставится префикс 0x:


a = 0x0A
b = 0xFF
c = 0xA1
print(a)    # 10 в десятичной системе
print(b)    # 255 в десятичной системе
print(c)    # 161 в десятичной системе

Стоит отметить, что в какой-бы системе мы не передали число в функцию print для вывода на консоль, оно по умолчанию будет выводиться в десятичной системе.

Дробные числа

Тип float представляет число с плавающей точкой, например, 1.2 или 34.76. В качесте разделителя целой и дробной частей используется точка.


height = 1.68
pi = 3.14
weight = 68.
print(height)   # 1.68
print(pi)       # 3.14
print(weight)   # 68.0

Число с плавающей точкой можно определять в экспоненциальной записи:


x = 3.9e3
print(x)  # 3900.0

x = 3.9e-3
print(x)  # 0.0039

Число float может иметь только 18 значимых символов. Так, в данном случае используются только два символа — 3.9. И если число слишком велико или слишком мало, то мы можем записывать число в подобной нотации, используя экспоненту. Число после экспоненты указывает степень числа 10, на которое надо умножить основное число — 3.9.

Комплексные числа

Тип complex представляет комплексные числа в формате вещественная_часть+мнимая_частьj — после мнимой части указывается суффикс j


complexNumber = 1+2j
print(complexNumber)   # (1+2j)

Строки

Тип str представляет строки. Строка представляет последовательность символов, заключенную в одинарные или двойные кавычки, например «hello» и ‘hello’. В Python 3.x строки представляют набор символов в кодировке Unicode


message = "Hello World!"
print(message)  # Hello World!

name = 'Tom'
print(name)  # Tom

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


text = ("Laudate omnes gentes laudate "
        "Magnificat in secula ")
print(text)

Если же мы хотим определить многострочный текст, то такой текст заключается в тройные двойные или одинарные кавычки:


'''
Это комментарий
'''
text = '''Laudate omnes gentes laudate
Magnificat in secula
Et anima mea laudate
Magnificat in secula 
'''
print(text)

При использовани тройных одинарных кавычек не стоит путать их с комментариями: если текст в тройных одинарных кавычках присваивается переменной, то это строка, а не комментарий.

Управляющие последовательности в строке

Строка может содержать ряд специальных символов — управляющих последовательностей. Некоторые из них:

  • \: позволяет добавить внутрь строки слеш

  • \’: позволяет добавить внутрь строки одинарную кавычку

  • \»: позволяет добавить внутрь строки двойную кавычку

  • \n: осуществляет переход на новую строку

  • \t: добавляет табуляцию (4 отступа)

Применим несколько последовательностей:


text = "Message:\n\"Hello World\""
print(text)

Консольный вывод программы:


Message:
"Hello World"

Хотя подобные последовательности могут нам помочь в некоторых делах, например, поместить в строку кавычку, сделать табуляцию, перенос на другую строку. Но они также могут и мешать. Например:


path = "C:\python\name.txt"
print(path)

Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы «\n», которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод:


C:\python
ame.txt

Чтобы избежать подобной ситуации, перед строкой ставится символ r


path = r"C:\python\name.txt"
print(path)
Вставка значений в строку

Python позволяет встравивать в строку значения других переменных. Для этого внутри строки переменные размещаются в фигурных скобках {}, а перед всей строкой ставится символ f:


userName = "Tom"
userAge = 37
user = f"name: {userName}  age: {userAge}"
print(user)   # name: Tom  age: 37

В данном случае на место {userName} будет вставляться значение переменной userName. Аналогично на вместо {userAge} будет вставляться значение переменной userAge.

Динамическая типизация

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

Тип переменной определяется исходя из значения, которое ей присвоено. Так, при присвоении строки в двойных или одинарных кавычках переменная имеет тип str. При присвоении целого числа Python автоматически определяет тип переменной как int. Чтобы определить переменную как объект float, ей присваивается дробное число, в котором разделителем целой и дробной части является точка.

При этом в процессе работы программы мы можем изменить тип переменной, присвоив ей значение другого типа:


userId = "abc"  # тип str
print(userId)

userId = 234  # тип int
print(userId)

С помощью встроенной функции type() динамически можно узнать текущий тип переменной:


userId = "abc"  	# тип str
print(type(userId)) # <class 'str'>

userId = 234  		# тип int
print(type(userId)) # <class 'int'>

НазадСодержаниеВперед

Переменные данные — isixsigma.

com

В других статьях мы обсуждали дискретные данные, атрибутивные данные и непрерывные данные. Теперь пришло время поговорить о переменных данных. Давайте рассмотрим, что такое переменные данные, сравним их с некоторыми другими типами данных и предложим некоторые рекомендации по работе с переменными данными.

Обзор: что такое переменные данные?

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

Термин «непрерывные данные» используется взаимозаменяемо с термином «переменные данные». Вот некоторые примеры: вес, объем, время, длина и скорость. Все они измеряются, могут принимать любое значение и логически подразделяться на все более мелкие единицы.

Напротив, дискретные или атрибутивные данные подсчитываются, а не измеряются. У вас может быть 5 человек, 10 ящиков или 10 ошибок в счетах. Нет смысла говорить о 5,3 человека или 10 636 ошибок в накладной.

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

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

3 преимущества переменных данных 

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

1. Размер выборки 

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

2. Разрешение 

Имея возможность подразделять данные на все более мелкие логические значения, вы получаете более высокое разрешение, которое позволит вам различать значения. Если бы вы могли измерять только в единицах 1 фут, вы не смогли бы различить 2 дюйма и 5 дюймов. Или между 4 дюймами и 8 дюймами. Все было бы 1 фут.

3. Позволяет легко прогнозировать 

Используя функцию распределения вероятностей (PDF), вы можете предсказать вероятность появления одного значения или вероятность того, что какое-либо значение будет больше или меньше интересующего значения.

Например, учитывая PDF некоторого нормального распределения, вы можете рассчитать вероятность того, что ваше время обработки будет больше 25, меньше 10 или между 10 и 25. Вы также можете рассчитать вероятность того, что ваше время обработки будет 21.

Почему важно понимать переменные данные?

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

1. Правильные статистические инструменты

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

2. Правильная статистика 

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

3. Экономические последствия 

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

Отраслевой пример использования переменных данных 

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

Бонни предложила Стиву подумать о классификации его данных как псевдопеременных или непрерывных данных, а не как дискретных. Она объяснила свое мнение, указав, что цифры подсчета были довольно высокими (исчислялись тысячами) и что они колебались в широких пределах от недели к неделе.

Стив согласился и поэтому выбрал диаграмму ImR для отслеживания уровня своих запасов.

Ниже показано, как выглядела его контрольная карта. Он спросил, что произошло в точке 31, когда уровень запасов вышел за верхний контрольный предел.

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

Данные просто не отображаются на вашем столе или на вашем компьютере. Вы должны пойти и собрать его. Вот несколько рекомендаций по сбору и анализу переменных данных.

1. Используйте формулы размера выборки 

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

2. По возможности используйте статистическое программное обеспечение

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

3. Используйте графику, чтобы дополнить свой анализ 

Нанесение данных на график даст вам визуальное представление, которое может стать мощным индикатором направления и дать вам некоторое представление о том, что вы можете ожидать после проведения статистического анализа.

Часто задаваемые вопросы (FAQ) о переменных данных

1.

В чем разница между переменными и дискретными данными?

Переменные данные — это то, что вы измеряете, а дискретные данные — это то, что вы считаете.

2. Какие есть примеры переменных данных?

Размеры, вес, объем, скорость и время — все это примеры переменных данных. Это вещи, которые измеряются измерительным устройством и могут быть логически разделены на все более и более мелкие единицы.

3. Переменные данные предпочтительнее дискретных?

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

Некоторые заключительные мысли о переменных данных 

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

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

Учебное пособие по атрибутивным и переменным данным

  • Дом /
  • Качественные ресурсы /
  • Учебное пособие по переменной атрибута

Глоссарий качества Определение: атрибутивные данные

Также называется: информация о годности/негодности

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

Глоссарий качества Определение: Переменные данные

Также называется: информация измерений

Переменные данные определяются как информация и цифры, используемые для построения контрольных диаграмм. Переменные данные можно использовать для создания диаграмм средних значений (X-bar), диаграмм диапазонов и выборочных диаграмм стандартных отклонений или «S-диаграмм».

Как данные атрибутов и переменных используются для создания контрольных диаграмм?

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

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

Например, компания производит алюминиевые булавки диаметром менее 1,065 дюйма, но не больше. Вместо того, чтобы измерять каждую булавку или даже выборку булавок, можно:

  • Используйте пластину с отверстием диаметром 1,065 дюйма (проходной/непроходной калибр)
  • Вставьте каждый проверяемый штифт в отверстие
  • Классифицировать любой штифт, проходящий через отверстие, как принятый, а остальные рассматривать как бракованные

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

Установление показателей производительности с переменными и атрибутивными данными

Показатели производительности, также известные как метрики процесса или ключевые показатели качества, должны быть отношениями. Эти коэффициенты представляют собой статистические данные, которые описывают, насколько хорошо или плохо работает процесс.

Иногда коэффициенты имеют такие метки, как дефекты на единицу (dpu), дефекты на единицу дефектов, дефекты на X единиц, дефекты на миллион возможностей (dpmo) или количество дефектов частей на миллион (ppm).

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *