{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "# MLClass. \"Прикладной анализ данных\"\n", "# Модуль \"Инструментарий Data Science\"\n", "\n", "\n", "## Автор материала: Юрий Кашницкий, ФКН НИУ ВШЭ\n", "
\n", "Материал распространяется на условиях лицензии Ms-RL. Можно использовать в любых целях, кроме коммерческих, но с обязательным упоминанием автора материала." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Урок 2. Основы языка Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Часть 1. Встроенные типы данных" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Зачем нужны встроенные типы данных (объекты)?\n", "- Встроенные объекты упрощают создание программ. Так как избавляют от необходимости\n", "реализации структур данных.\n", "- Встроенные объекты – это компоненты расширений. Для решения сложных задач вы можете\n", "создавать собственные объекты, используя для этого встроенные классы языка Python\n", "- Встроенные объекты часто более эффективны, чем созданные вручную структуры данных.\n", "Встроенные типы языка Python используют уже оптимизированные структуры данных,\n", "реализованные на языке C для достижения высокой производительности\n", "- Встроенные объекты – это стандартная часть языка. В определенной степени Python многое\n", "заимствует как из языков, полагающихся на использование встроенных инструментальных\n", "средств (таких как LISP), так и полагающихся на мастерство программиста, который должен\n", "выполнить собственную реализацию инструментов и структур данных (таких как C++). В языке\n", "Python можно создавать собственные типы объектов, но в самом начале делать это не\n", "рекомендуется. Более того, из-за того, что встроенные компоненты являются стандартными\n", "составляющими языка Python, они всегда остаются неизменными, тогда как собственные\n", "структуры имеют свойство изменяться от случая к случаю." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Мы рассмотрим следующие встроенные типы данных:\n", " - Числа (7382, 3.14, 3+4j, Decimal, Fraction)\n", " - Строки ('net', \"your's\", u'радость')\n", " - Списки ([1, [2, 'three'], 4])\n", " - Словари ({'Alex': 2, 'Brian': 4})\n", " - Кортежи ('Leo', 21.7, 'single')\n", " - Множества (set(1,2,3), {'a', 'b', 'c'})\n", " - Файлы (open('myfile', 'r'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Динамическая типизация**\n", "\n", "Типы данных в языке Python определяются автоматически во время выполнения, а не в результате\n", "объявлений в программном коде. Переменные создаются при выполнении операции присваивания,\n", "могут ссылаться на объекты любых типов и им должны быть присвоены некоторые значения, прежде\n", "чем к ним можно будет обратиться." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " - Переменные – это записи в системной таблице, где предусмотрено место для хранения ссылок на\n", "объекты.\n", " - Объекты – это области памяти с объемом, достаточным для представления значений этих объектов.\n", "Каждый объект имеет два стандартных поля: описатель типа, используемый для хранения\n", "информации о типе объекта, и счетчик ссылок, используемый для определения момента, когда\n", "память, занимаемая объектом, может быть освобождена.\n", " - Ссылки – это указатели на объекты." ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" }, "name": "seminar2_part1_variables_strings_numbers.ipynb" }, "nbformat": 4, "nbformat_minor": 0 }