\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
}