CINXE.COM

Основы Python | Python с нуля до бесконечности

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="/pyplanet_tmpl/fonts/style.css"> <link rel="stylesheet" href="/pyplanet_tmpl/css/new_style.css"> <title>Основы Python | Python с нуля до бесконечности</title> <meta name="description" content='Курс основ программирования на языке Python с нуля. Рассмотрены базовые вещи; после прочтения вы способны написать на Python большую часть программ.'> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <link rel="manifest" href="/site.webmanifest"> <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="theme-color" content="#f5f5f5"> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(97429815, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/97429815" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <script>window.yaContextCb=window.yaContextCb||[]</script> <script src="https://yandex.ru/ads/system/context.js" async></script> </head> <body> <header> <div class="logo"><a href="/"><img src="/pyplanet_tmpl/img/python-3.png"></a></div> <div class="logo-letters"><a href="/">Pyplanet — Python с нуля до бесконечности</a></div> </header> <div class="category-menu"> <a href="/category/osnovy.html">Основы</a> <a href="/category/enhanced.html">Продвинутый</a> <a href="/category/guidebook.html">Справочник</a> <a href="/pages/tutorials.html">Руководства</a> <a href="/pages/books.html">Книги</a> <a href="/pages/courses.html">Курсы</a> </div> <div class="main-content"> <div class="content"> <div class="post-list"> <article class="post"> <h1>Основы Python</h1> <div class="text-block"> </div> </article> <article class="post"> <div id="yandex_rtb_R-A-9079088-3" style="max-height: 10%"></div> <div id="content_top" style="display: none"> <a target="_blank" href="https://zallj.com/g/qqb62fps0r99b979a60661cec322b98fba714163/?erid=5jtCeReNwxHpfQTDve31wmc"> <img src="/pyplanet_tmpl/img/content_top.png"> </a> </div> <script> window.yaContextCb.push(() => { Ya.Context.AdvManager.render({ "blockId": "R-A-9079088-3", "renderTo": "yandex_rtb_R-A-9079088-3" }); }) setTimeout( function () { if (document.getElementById("yandex_rtb_R-A-9079088-3").clientHeight === 0) { document.getElementById("content_top").style.display = 'block'; } }, 400); </script> </article> <article class="post"> <h2 class="subheader"><a href="/article/magic-methods.html">Магические методы</a></h2> <div class="text-block"> <p>Помимо обычных методов класса, в python имеются методы, которые, как правило, не вызываются напрямую, а вызываются встроенными функциями или операторами.</p> <p>Например, метод <tt class="docutils literal">__init__</tt> перегружает конструктор класса. Конструктор - создание экземпляра класса.</p> <div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">class</span> <span class="nc">A</span><span class="p">:</span> <span class="gp">... </span> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span> <span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span> <span class="gp">...</span> <span class="gp">&gt;&gt;&gt; </span><span class="n">a</span> <span class="o">=</span> <span class="n">A</span><span class="p">(</span><span class="s1">&#39;Vasya&#39;</span><span class="p">)</span> <span class="gp">&gt;&gt;&gt; </span><span class="nb">print</span><span class="p">(</span><span class="n">a</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="go">Vasya</span> </pre></div> <p>Список всех доступных магических …</p> <div class="more-link"><a href="/article/magic-methods.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/classes.html">Объектно-ориентированное программирование. Классы, объекты</a></h2> <div class="text-block"> <p>Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.</p> <p>Класс — тип, описывающий устройство объектов. Объект — это экземпляр класса. Класс можно сравнить с чертежом, по которому создаются объекты.</p> <p>Python соответствует принципам объектно-ориентированного программирования. В Python всё является объектами - строки, списки, словари, файлы, всё остальное.</p> <p>Кроме того …</p> <div class="more-link"><a href="/article/classes.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/import.html">Импорт и создание модулей</a></h2> <div class="text-block"> <p>Допустим, мы хотим вычислить синус числа.</p> <p>Встроенной функции, которая делает это, в Python нет; а писать самому - занятие ненужное. Зато такая функция есть во встроенном <strong>модуле</strong> <tt class="docutils literal">math</tt>.</p> <p>Модулем в Python называется любой файл с программой (да-да, все те программы, которые мы писали в прошлых лекциях, можно назвать модулями).</p> <p>Каждая программа …</p> <div class="more-link"><a href="/article/import.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/with-as.html">Конструкция with - as: менеджер контекста</a></h2> <div class="text-block"> <p>Конструкция with - as используется для оборачивания выполнения блока инструкций менеджером контекста. Часто это более удобная конструкция, чем изученная ранее try-except-finally.</p> <p>Синтаксис конструкции with ... as:</p> <div class="highlight"><pre><span></span><span class="s2">&quot;with&quot;</span> <span class="n">expression</span> <span class="p">[</span><span class="s2">&quot;as&quot;</span> <span class="n">target</span><span class="p">]</span> <span class="p">(</span><span class="s2">&quot;,&quot;</span> <span class="n">expression</span> <span class="p">[</span><span class="s2">&quot;as&quot;</span> <span class="n">target</span><span class="p">])</span><span class="o">*</span> <span class="s2">&quot;:&quot;</span> <span class="n">suite</span> </pre></div> <p>Если в конструкции with - as было несколько выражений, то это эквивалентно нескольким вложенным конструкциям:</p> <div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">A</span><span class="p">()</span> <span class="k">as</span> <span class="n">a …</span></pre></div> <div class="more-link"><a href="/article/with-as.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/files.html">Работа с файлами: чтение, запись, редактирование</a></h2> <div class="text-block"> <p>В Python, как и в других языках программирования, можно работать с файлами: читать из файла и писать в файл. Это позволяет легко манипулировать любыми файлами из Python.</p> <p>Прежде, чем работать с файлом, его надо открыть. Открыть файл можно с помощью встроенной функции <strong>open</strong>:</p> <div class="highlight"><pre><span></span><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">&#39;pyplanet.txt&#39;</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">&#39;utf-8 …</span></pre></div> <div class="more-link"><a href="/article/files.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/try-except.html">Конструкция try - except для обработки исключений</a></h2> <div class="text-block"> <p>Допустим, нам нужно написать функцию, которая возвращает частное от деления двух чисел; и ноль, если деление не удалось.</p> <p>Кажется легко, верно? Давайте напишем код:</p> <div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">division</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span> <span class="k">return</span> <span class="n">x</span> <span class="o">/</span> <span class="n">y</span> </pre></div> <p>И вызовем его</p> <div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">print</span><span class="p">(</span><span class="n">division</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span> <span class="gt">Traceback (most recent call last):</span> File <span class="nb">&quot;&lt;stdin&gt;&quot;</span>, line <span class="m">1</span>, in <span class="n">&lt;module&gt;</span> File …</pre></div> <div class="more-link"><a href="/article/try-except.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/scopes-global-nonlocal.html">Области видимости; инструкции global, nonlocal</a></h2> <div class="text-block"> <p>Область видимости — часть программы, в пределах которой переменная остаётся связанной с объектом, то есть позволяет посредством себя обратиться к нему.</p> <p>Например, в приведённом ниже коде:</p> <div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span> <span class="k">return</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">2</span> <span class="nb">print</span><span class="p">(</span><span class="n">add</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">))</span> </pre></div> <p>Где существуют <tt class="docutils literal">x</tt> и <tt class="docutils literal">y</tt>? Ответ: только внутри функции <tt class="docutils literal">add …</tt></p> <div class="more-link"><a href="/article/scopes-global-nonlocal.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/args-kwargs.html">Функции с переменным числом аргументов; args, kwargs</a></h2> <div class="text-block"> <p>Допустим, мы хотим написать функцию, которая выводит среднее арифметическое всех своих аргументов. Мы можем, используя предыдущие знания, написать эту функцию, например, для трёх аргументов:</p> <div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">mean</span><span class="p">(</span><span class="n">elem1</span><span class="p">,</span> <span class="n">elem2</span><span class="p">,</span> <span class="n">elem3</span><span class="p">):</span> <span class="k">return</span> <span class="p">(</span><span class="n">elem1</span> <span class="o">+</span> <span class="n">elem2</span> <span class="o">+</span> <span class="n">elem3</span><span class="p">)</span> <span class="o">/</span> <span class="mi">3</span> </pre></div> <p>Или для четырёх. Или для двух. Но только для какого-то конкретного известного заранее количества аргументов</p> <p>Можно …</p> <div class="more-link"><a href="/article/args-kwargs.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/lambda.html">Анонимные lambda-функции</a></h2> <div class="text-block"> <p>Мы разобрались, как писать функции с помощью <tt class="docutils literal">def</tt>, однако это не всегда удобно.</p> <p>Например, есть метод <tt class="docutils literal">sort</tt> у списков, который сортирует список. У него есть аргумент <tt class="docutils literal">key</tt> - это функция, которая применяется к каждому элементу и возвращает значение для сортировки.</p> <p>Например, попробуем отсортировать список по модулю числа (модуль числа - это само …</p> <div class="more-link"><a href="/article/lambda.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/def-return.html">Функции, директивы def, return</a></h2> <div class="text-block"> <p>Часто некоторый код нужно выполнить несколько раз. Либо мы хотим как-то изолировать некоторый код, и вызывать его в необходимом месте.</p> <p>Этого можно достичь написанием <strong>функции</strong>.</p> <p>Функция в python - объект, принимающий аргументы и возвращающий значение. Обычная функция определяется с помощью инструкции <strong>def</strong>.</p> <p>Определим простейшую функцию:</p> <div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span> <span class="k">return</span> <span class="n">x …</span></pre></div> <div class="more-link"><a href="/article/def-return.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/string-formatting.html">Форматирование строк</a></h2> <div class="text-block"> <p>Иногда нужно напечатать строку, в которой присутствует пользовательский ввод. Например, напечатать &quot;Привет, name&quot;, где name - это введённое пользователем имя.</p> <p>Можно это сделать с помощью конкатенации строк, например:</p> <div class="highlight"><pre><span></span><span class="n">name</span> <span class="o">=</span> <span class="nb">input</span><span class="p">(</span><span class="s2">&quot;Как вас зовут?&quot;</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Привет, &quot;</span> <span class="o">+</span> <span class="n">name</span><span class="p">)</span> </pre></div> <p>Однако, если строки станут сложнее, и подстановок станет больше, то выражение, получающееся при применении всех …</p> <div class="more-link"><a href="/article/string-formatting.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/dict-object.html">Словари</a></h2> <div class="text-block"> <p>Словари в Python - это отображение хэшируемых элементов (ключей) на объекты (значения).</p> <p>Создадим словарь:</p> <div class="highlight"><pre><span></span><span class="n">dictionary</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">:</span> <span class="mi">9</span><span class="p">,</span> <span class="s2">&quot;hello&quot;</span><span class="p">:</span> <span class="s2">&quot;pyplanet&quot;</span><span class="p">}</span> </pre></div> <p>Пустой словарь можно также создать с помощью литерала:</p> <div class="highlight"><pre><span></span><span class="n">empty</span> <span class="o">=</span> <span class="p">{}</span> </pre></div> <p>Ключи работают так же, как и элементы множества:</p> <ul class="simple"> <li>Уникальны</li> <li>Неизменяемы</li> </ul> <p>Помните, у нас была задача на каждый вопрос дать …</p> <div class="more-link"><a href="/article/dict-object.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/set-frozenset.html">Множества (set и frozenset)</a></h2> <div class="text-block"> <p>Что такое множества в Python? Это контейнер, содержащий неповторяющиеся элементы. Этот тип данных похож на математическое множество.</p> <blockquote class="pull-quote"> Множество (в математике) — одно из ключевых понятий математики, представляющее собой набор, совокупность каких-либо объектов — элементов этого множества. Два множества равны тогда и только тогда, когда содержат в точности одинаковые элементы.</blockquote> <p>Допустим, пользователь вводит …</p> <div class="more-link"><a href="/article/set-frozenset.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/unpacking.html">Распаковка элементов</a></h2> <div class="text-block"> <p>Допустим, есть задача: обменять значения двух переменных. Например, <tt class="docutils literal">a = 5, b = 10</tt>. Нам нужно, чтобы стало <tt class="docutils literal">a = 10, b = 5</tt>.</p> <p>Можно это сделать через введение временной переменной:</p> <div class="highlight"><pre><span></span><span class="n">a</span> <span class="o">=</span> <span class="mi">5</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">10</span> <span class="n">tmp</span> <span class="o">=</span> <span class="n">a</span> <span class="n">a</span> <span class="o">=</span> <span class="n">b</span> <span class="n">b</span> <span class="o">=</span> <span class="n">tmp</span> </pre></div> <p>А можно воспользоваться инструментом распаковки элементов кортежа / списка. Но для начала о том …</p> <div class="more-link"><a href="/article/unpacking.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/tuple-object.html">Кортежи</a></h2> <div class="text-block"> <p>В этой статье мы поговорим о таком типе данных в Python, как <strong>кортежи</strong> (<strong>tuple</strong>).</p> <p>Кортежи - почти как изученные нами ранее списки, за исключением того, что они неизменяемы.</p> <div class="section" id="section-2"> <h2>Как создаётся кортеж?</h2> <p>Кортеж создаётся способом, походим на то, каким создаются списки, только вместо квадратных скобок - круглые.</p> <div class="highlight"><pre><span></span><span class="n">a</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1 …</span></pre></div></div> <div class="more-link"><a href="/article/tuple-object.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/strings.html">Строки</a></h2> <div class="text-block"> <p>Строки в Python - упорядоченные последовательности символов, используемые для хранения и представления текстовой информации, поэтому с помощью строк можно работать со всем, что может быть представлено в текстовой форме.</p> <div class="section" id="section-2"> <h2>Литералы строк</h2> <p>Что такое литерал? Литерал (англ. literal), или безымянная константа — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение.</p> <p>Когда …</p></div> <div class="more-link"><a href="/article/strings.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/slice-object.html">Срезы массивов</a></h2> <div class="text-block"> <p>Иногда необходимо выбрать подмножество массива: убрать первые или последние элементы, выбрать только чётные или нечётные элементы.</p> <p>Конечно, можно проходить по списку с помощью цикла for, в этом цикле писать условия, и записывать нужный диапазон значений в новый массив. Однако в Python есть инструмент, с помощью которого это делать проще.</p> <p>Этот …</p> <div class="more-link"><a href="/article/slice-object.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/range-object.html">range</a></h2> <div class="text-block"> <p>Например, дана задача: в массиве чисел к каждому элементу прибавить его индекс. Можно эту задачу решить через цикл while, но всё же хотелось бы через for.</p> <p>Вот пример решения через цикл for:</p> <div class="highlight"><pre><span></span><span class="n">array</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">]</span> <span class="n">index</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">element</span> <span class="ow">in</span> <span class="n">array</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="n">element</span> <span class="o">+</span> <span class="n">index</span><span class="p">)</span> <span class="n">index</span> <span class="o">=</span> <span class="n">index …</span></pre></div> <div class="more-link"><a href="/article/range-object.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/for.html">Цикл for</a></h2> <div class="text-block"> <p>Вроде бы нам известен цикл while, зачем нам ещё и цикл for?</p> <p>Возьмём код из предыдущей лекции, где мы просто печатали элементы массива:</p> <div class="highlight"><pre><span></span><span class="n">array</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mf">1.4</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">]</span> <span class="n">index</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">while</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="nb">len</span><span class="p">(</span><span class="n">array</span><span class="p">):</span> <span class="nb">print</span><span class="p">(</span><span class="n">array</span><span class="p">[</span><span class="n">index</span><span class="p">])</span> <span class="n">index</span> <span class="o">=</span> <span class="n">index</span> <span class="o">+</span> <span class="mi">1</span> </pre></div> <p>Здесь есть несколько моментов, которые будут повторяться …</p> <div class="more-link"><a href="/article/for.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/array-list.html">Списки (list) - организация массивов</a></h2> <div class="text-block"> <p>Массив — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих целые (или приводимые к целым) значения из некоторого заданного непрерывного диапазона.</p> <p>Массивы нужны для удобного хранения и обработки данных.</p> <p>В Python массивы реализованы списками (list) и кортежами (tuple).</p> <div class="note docutils container"> На самом деле, ни список, ни кортеж …</div> <div class="more-link"><a href="/article/array-list.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/break-continue.html">Операторы break и continue, слово else в циклах</a></h2> <div class="text-block"> <div class="section" id="break"> <h2>Оператор break</h2> <p>А теперь допустим, что нам нужно вывести для введённого числа его минимальный делитель, отличный от единицы (делитель - это такое число, на которое данное делится без остатка, например, для числа 15 делителями являются 1, 3, 5, 15).</p> <p>Пользуясь лишь знаниями, полученными ранее, можно написать следующий код для решения данной …</p></div> <div class="more-link"><a href="/article/break-continue.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/while.html">Цикл while</a></h2> <div class="text-block"> <p>Допустим, нам необходимо напечатать значения квадратов натуральных чисел. Скажем, от 1 до 10 (квадрат числа - это число, умноженное само на себя).</p> <p>Можно это сделать по-простому:</p> <div class="highlight"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="mi">1</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="mi">2</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="mi">3</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="mi">4</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="mi">5</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="mi">6</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="mi">7</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="mi">8</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="nb">print …</span></pre></div> <div class="more-link"><a href="/article/while.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/switch-case.html">Множественный условный оператор Switch - case</a></h2> <div class="text-block"> <p>Допустим, мы хотим написать простейшую систему вопрос - ответ. У нас есть заранее известный список потенциальных вопросов и ответов на них.</p> <p>Безусловно, можно решить эту задачу, используя конструкцию if-elif-else, но появилась несколько более удобная конструкция для решения подобных задач.</p> <p>Решение с помощью if-elif-else:</p> <div class="highlight"><pre><span></span><span class="n">question</span> <span class="o">=</span> <span class="nb">input</span><span class="p">()</span> <span class="k">if</span> <span class="n">question</span> <span class="o">==</span> <span class="s2">&quot;Привет?&quot;</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Привет!&quot;</span><span class="p">)</span> <span class="k">elif …</span></pre></div> <div class="more-link"><a href="/article/switch-case.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/if.html">Условия и условные операторы</a></h2> <div class="text-block"> <p>Допустим, если пользователь ввёл &quot;Hello&quot;, его нужно поприветствовать. Иначе написать, что он невежлив.</p> <p>Для решения подобных задач в Python (да и в других языках программирования) существует условный оператор if. Например, задача выше решается так:</p> <div class="highlight"><pre><span></span><span class="n">say</span> <span class="o">=</span> <span class="nb">input</span><span class="p">()</span> <span class="k">if</span> <span class="n">say</span> <span class="o">==</span> <span class="s2">&quot;Hello&quot;</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Приветствую!&quot;</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Вы невежливый. Пожалуйста, поздоровайтесь!&quot;</span><span class="p">)</span> </pre></div> <p>Здесь использована функция …</p> <div class="more-link"><a href="/article/if.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/numbers.html">Числа, арифметические операции</a></h2> <div class="text-block"> <div class="section" id="section-2"> <h2>Целые числа</h2> <p>Целые числа, как и в жизни, как и в других языках - это... целые числа. 0, 1, -111, 954323209 - это всё примеры целых чисел. В Python они представлены типом int.</p> <div class="note docutils container"> Тип int не означает, что где-то специально нужно писать <tt class="docutils literal">int a = 5</tt>. Это означает лишь то, что, если написать …</div></div> <div class="more-link"><a href="/article/numbers.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/variables.html">Переменные и типизация</a></h2> <div class="text-block"> <p>Представьте, что нам нужно напечатать на экран фразу Hello, world! не один, а два раза. Эту задачу можно решить так:</p> <div class="highlight"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Hello world!&quot;</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Hello world!&quot;</span><span class="p">)</span> </pre></div> <p>В простейшем случае так можно поступать. Но если фраза &quot;Hello world!&quot; будет использоваться чаще, в разных частях программы, и ещё и при каких-то условиях …</p> <div class="more-link"><a href="/article/variables.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/program-not-working.html">Моя программа не работает? Что делать?</a></h2> <div class="text-block"> <p>Моя программа на Python выдаёт какую-то странную ошибку! Надо срочно где-нибудь спросить, а что же в питоне не так? Не в моей же программе дело!</p> <p>Скорее всего, именно в программе где-то ошибка. Будем разбираться, как понять, в чём именно.</p> <div class="section" id="section-2"> <h2>Моя программа не запускается</h2> <p>Проблема: Моя программа не запускается. На доли …</p></div> <div class="more-link"><a href="/article/program-not-working.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/syntax.html">Основы синтаксиса</a></h2> <div class="text-block"> <p>Синтаксис языка Python очень прост.</p> <ul> <li><p class="first">Конец строки является концом инструкции (точка с запятой не требуется).</p> </li> <li><p class="first">Вложенные инструкции объединяются в блоки по величине отступов. Отступ может быть любым, главное, чтобы в пределах одного вложенного блока отступ был одинаков. Однако хорошим тоном считается отступ каждого блока в 4 пробела</p> </li> <li><p class="first">Вложенные инструкции в …</p></li></ul> <div class="more-link"><a href="/article/syntax.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/hello-world.html">Hello world - первая программа на Python</a></h2> <div class="text-block"> <p>После загрузки и установки python открываем IDLE (среда разработки на языке Python, поставляемая вместе с дистрибутивом).</p> <p>Здесь и далее буду приводить примеры под ОС Windows, как более распространённой среди новичков.</p> <p>Запускаем IDLE (изначально запускается в интерактивном режиме), после чего уже можно начинать писать первую программу. Традиционно, первой программой у нас …</p> <div class="more-link"><a href="/article/hello-world.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/install.html">Загрузка и установка Python</a></h2> <div class="text-block"> <p>Для того, чтобы начать программировать на Python, нам необходимо установить на свой компьютер интерпретатор Python.</p> <p>И в этой части я объясню, как это сделать.</p> <div class="section" id="python-windows"> <h2>Установка Python на Windows</h2> <p>Скачивать python будем с <a class="reference external" href="https://python.org">официального сайта</a>. Не рекомендую скачивать интерпретатор python с других сайтов или через торрент. Программа абсолютно бесплатная. Заходим на …</p></div> <div class="more-link"><a href="/article/install.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <h2 class="subheader"><a href="/article/usages.html">Для чего применяется Python?</a></h2> <div class="text-block"> <p>Язык программирования Python используется во многих сферах IT-индустрии, имеет множество применений. Вот лишь некоторые из них:</p> <div class="section" id="section-1"> <h2>Веб-разработка</h2> <p>Чаще всего вакансии с требованием Python попадаются для Web-разработки. Python используется для создания динамических сайтов.</p> <p>Просто &quot;из коробки&quot; на Python не написать сайт (как, например, это можно сделать на PHP, вставив код в …</p></div> <div class="more-link"><a href="/article/usages.html">↓ читать целиком ↓</a></div> </div> </article> <article class="post"> <div id="yandex_rtb_R-A-9079088-1" style="max-height: 25%"></div> <div id="content_bottom" style="display: none"> <a target="_blank" href="https://zallj.com/g/qqb62fps0r99b979a60661cec322b98fba714163/?erid=5jtCeReNwxHpfQTDve31wmc"> <img src="/pyplanet_tmpl/img/content_bottom.png"> </a> </div> <script> window.yaContextCb.push(() => { Ya.Context.AdvManager.render({ "blockId": "R-A-9079088-1", "renderTo": "yandex_rtb_R-A-9079088-1" }); }) setTimeout( function () { if (document.getElementById("yandex_rtb_R-A-9079088-3").clientHeight === 0) { document.getElementById("content_bottom").style.display = 'block'; } }, 400); </script> </article> </div> </div> <div class="sidebar"> <div class="sticky"> <div class="button-group"> <a target="_blank" href="https://t.me/pyplanet"><button class="telegram-button">✈ Telegram</button></a> <a target="_blank" href="https://www.tinkoff.ru/cf/6xIycbvJQF9"><button class="tinkoff-button">❤️ Поддержать</button></a> <a target="_blank" href="https://forms.gle/Trx4h8zZwKyBpsyY6"><button class="ask-button">❓ Задать вопрос</button></a> </div> <div class="latest-articles"> <h3>Популярные статьи</h3> <div class="article"> <h4><a href="https://pyplanet.ru/article/range-object.html">Объект range</a></h4> <p>Изучение объекта range в Python. Создание последовательностей чисел, использование в циклах и примеры применения.</p> </div> <div class="article"> <h4><a href="https://pyplanet.ru/article/pep-0257.html">PEP 257 - соглашения для строк документации (docstrings)</a></h4> <p>Целью данного PEP является стандартизация структуры строк документации: что они должны содержать и что должны объяснять.</p> </div> <div class="article"> <h4><a href="https://pyplanet.ru/pages/courses-free.html">Бесплатные курсы Python</a></h4> <p>Обзор бесплатных курсов, обучающих видео по языку программирования Python</p> </div> </div> </div> </div> </div> <footer> <p>&copy; 2025 <a href="https://pyplanet.ru/">pyplanet - Python с нуля до бесконечности</a></p> </footer> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10