Программирование с нуля на python: Самоучитель Python | Python 3 для начинающих и чайников

Содержание

Числа: целые, вещественные, комплексные | Python 3 для начинающих и чайников

Числа в Python 3: целые, вещественные, комплексные. Работа с числами и операции над ними.

Целые числа (int)

Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций:

x + yСложение
x — yВычитание
x * yУмножение
x / yДеление
x // yПолучение целой части от деления
x % yОстаток от деления
-xСмена знака числа
abs(x)Модуль числа
divmod(x, y)Пара (x // y, x % y)
x ** yВозведение в степень
pow(x, y[, z])xy по модулю (если модуль задан)

Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти). yПобитовое исключающее илиx & yПобитовое иx << nБитовый сдвиг влевоx >> yБитовый сдвиг вправо~xИнверсия битов

Дополнительные методы

int.bit_length() — количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.

>>> n = -37
>>> bin(n)
'-0b100101'
>>> n.bit_length()
6

int.to_bytes(length, byteorder, *, signed=False) — возвращает строку байтов, представляющих это число.

>>> (1024).to_bytes(2, byteorder='big')
b'\x04\x00'
>>> (1024).to_bytes(10, byteorder='big')
b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00'
>>> (-1024).to_bytes(10, byteorder='big', signed=True)
b'\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00'
>>> x = 1000
>>> x.to_bytes((x.bit_length() // 8) + 1, byteorder='little')
b'\xe8\x03'

classmethod int. from_bytes(bytes, byteorder, *, signed=False) — возвращает число из данной строки байтов.

>>> int.from_bytes(b'\x00\x10', byteorder='big')
16
>>> int.from_bytes(b'\x00\x10', byteorder='little')
4096
>>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=True)
-1024
>>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=False)
64512
>>> int.from_bytes([255, 0, 0], byteorder='big')
16711680

Системы счисления

Те, у кого в школе была информатика, знают, что числа могут быть представлены не только в десятичной системе счисления. К примеру, в компьютере используется двоичный код, и, к примеру, число 19 в двоичной системе счисления будет выглядеть как 10011. Также иногда нужно переводить числа из одной системы счисления в другую. Python для этого предоставляет несколько функций:

  • int([object], [основание системы счисления]) — преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.
  • bin(x) — преобразование целого числа в двоичную строку.
  • hex(х) — преобразование целого числа в шестнадцатеричную строку.
  • oct(х) — преобразование целого числа в восьмеричную строку.

Примеры:

>>> a = int('19') # Переводим строку в число
>>> b = int('19.5')  # Строка не является целым числом
Traceback (most recent call last):
  File "", line 1, in
ValueError: invalid literal for int() with base 10: '19.5'
>>> c = int(19.5)  # Применённая к числу с плавающей точкой, отсекает дробную часть
>>> print(a, c)
19 19
>>> bin(19)
'0b10011'
>>> oct(19)
'0o23'
>>> hex(19)
'0x13'
>>> 0b10011  # Так тоже можно записывать числовые константы
19
>>> int('10011', 2)
19
>>> int('0b10011', 2)
19

Вещественные числа (float)

Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:

>>> 0. 1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
0.9999999999999999

Для высокой точности используют другие объекты (например Decimal и Fraction)).

Также вещественные числа не поддерживают длинную арифметику:

>>> a = 3 ** 1000
>>> a + 0.1
Traceback (most recent call last):
  File "", line 1, in
OverflowError: int too large to convert to float

Простенькие примеры работы с числами:

>>> c = 150
>>> d = 12.9
>>> c + d
162.9
>>> p = abs(d - c)  # Модуль числа
>>> print(p)
137.1
>>> round(p)  # Округление
137

Дополнительные методы

float.as_integer_ratio() — пара целых чисел, чьё отношение равно этому числу.

float.is_integer() — является ли значение целым числом.

float.hex() — переводит float в hex (шестнадцатеричную систему счисления).

classmethod float.fromhex(s) — float из шестнадцатеричной строки.

>>> (10. 5).hex()
'0x1.5000000000000p+3'
>>> float.fromhex('0x1.5000000000000p+3')
10.5

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

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

>>> import math
>>> math.pi
3.141592653589793
>>> math.sqrt(85)
9.219544457292887

Модуль random реализует генератор случайных чисел и функции случайного выбора.

>>> import random
>>> random.random()
0.15651968855132303

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

В Python встроены также и комплексные числа:

>>> x = complex(1, 2)
>>> print(x)
(1+2j)
>>> y = complex(3, 4)
>>> print(y)
(3+4j)
>>> z = x + y
>>> print(x)
(1+2j)
>>> print(z)
(4+6j)
>>> z = x * y
>>> print(z)
(-5+10j)
>>> z = x / y
>>> print(z)
(0.44+0.08j)
>>> print(x. conjugate())  # Сопряжённое число
(1-2j)
>>> print(x.imag)  # Мнимая часть
2.0
>>> print(x.real)  # Действительная часть
1.0
>>> print(x > y)  # Комплексные числа нельзя сравнить
Traceback (most recent call last):
  File "", line 1, in
TypeError: unorderable types: complex() > complex()
>>> print(x == y)  # Но можно проверить на равенство
False
>>> abs(3 + 4j)  # Модуль комплексного числа
5.0
>>> pow(3 + 4j, 2)  # Возведение в степень
(-7+24j)

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

Для вставки кода на Python в комментарий заключайте его в теги <pre><code>Ваш код</code></pre>

Свежее

  • Модуль csv — чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ

Категории

  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов

Полезные материалы

  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Мы в соцсетях

Python обучение — курс уроков программирования на Питоне с нуля на itProger

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

Информация про Python

Язык Питон появился в 1991 году, что делает его старше за языки Джава, С#, JavaScript, PHP и многие другие, но делает младше за Си и С++. Несмотря на свой возраст язык вовсе не утратил былую славу, а лишь наоборот каждый год укрепляет свои силы на рынке. Все это благодаря постоянным обновлениям.

На сегодняшний день язык уверено себя чувствует в тройке самых популярных языков мира по версии TIOBE. Такая популярность и любовь со стороны разработчиков вызвана не случайно. На это есть несколько причин:

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

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

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

Программирование на Python приносит эстетическое удовольствие и неплохой доход. Даже у неопытного программиста здесь получается лаконичный и легко читаемый код. Питон – это красивый и очень мощный язык.

Почему тогда Питон не №1?

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

По схожим причинам Питон не является лидером во всех доступных ему сферах. Для игр нужно быстродействие, для программ также, поэтому там выбор в основном падает на другие языки, а вот веб сайты могут уже потеснится в плане скорости и поэтому +- 100 миллисекунд на выполнение особой роли там не сыграют.

Где применяется Python?

На Питоне можно делать много чего: приложения под ПК, нейросети, веб сайты и даже игры.

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

Несколько основных функциональных достоинств Python:

  • Умеет работать с расширениями xml/html;
  • Поддерживает управление http-запросами;
  • Обладает графическим интерфейсом;
  • Помогает создавать веб-скрипты;
  • Может работать с FTP;
  • Способен оперировать картинками, видео и звуковыми файлами;
  • Используется в разработке робототехники;
  • Отвечает за создание научных, вычислительных площадок и ещё много всего другого.

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

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

Чтобы начать работать на Python, прежде стоит пройти на официальный веб-ресурс для скачивания дистрибутива языка. На сайте есть масса полезной информации в отношении правил написания кода и расширяемости языка.

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

Ближайшее перспективы языка

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

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

Создание сайтов на Python

Для разработки веб сайтов вы можете писать код на чистом Питоне, но в таком случае вы будете делать «мартышкин труд». Куда проще использовать готовые решения для построения веб сайтов. Одним из таких решений является фреймворк Джанго. 

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

Вы можете ознакомиться с возможностями Джанго в нашей специальной статье: «10 самых популярных сайтов написанных на Django». 

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

План курса

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

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

Курсы по Python разработке

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

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

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

Основы Scratch и Python

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

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

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

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

    • В Scratch переменная должна быть создана, прежде чем ей будет присвоено значение, тогда как в Python переменная создается после присвоения значения.
    • В Python необходимо заключать строки (любой текст) либо в одинарные ( ' ), либо в двойные ( " ) кавычки.

Увеличение переменной

    • В Scratch значение переменной можно увеличивать или уменьшать.
    • В Python значение переменной можно увеличить или уменьшить, переназначив ее самой себе с помощью добавления или вычитания числа.

Выводы Scratch и Python

    • В Scratch вы говорите со спрайтом, чтобы предоставить вывод пользователю программы.
    • Python использует операторы print для вывода в оболочку .
    • Опять же, в Python вам нужно использовать одинарные или двойные кавычки, если вы печатаете строки.

Условные циклы в Scratch и Python

    • Условный цикл Scratch повторяет до тех пор, пока определенное утверждение не будет True .
    • Условный цикл Python повторяет до тех пор, пока некий оператор равен True .
    • В Python в конце инструкции должно быть двоеточие ( : ).
    • Обратите внимание, что код внутри цикла имеет отступ . Отступ обычно составляет четыре пробела или один табулятор. Это можно сравнить с тем, как блок условного цикла Scratch заключает в скобки код внутри него.

    • Приведенный выше пример — не самый простой способ сделать это в Python. Используя цикл while , проще проверить, что переменная равна 9.0092 меньше или равно 10 .

 пока foo <= 10:
 печать (фу)
 

Бесконечные циклы в Scratch и Python

    • Scratch имеет особый тип бесконечного цикла.
    • В Python используется условный цикл, который всегда оценивается как True .

Условный выбор

    • В Scratch есть два блока выбора, которые можно использовать. Если требуется несколько условий, они должны быть вложены друг в друга.
    • Python имеет три оператора выбора: if , elif и else . Опять двоеточие ( : ) и отступы.

Проверка на равенство

    • В Scratch вы можете использовать знак равенства ( = ), чтобы проверить, совпадает ли одно значение с другим значением.
    • В Python одиночный знак равенства зарезервирован для присваивания переменной, поэтому двойной знак равенства ( == ) используется для проверки на равенство.

Списки в Scratch и Python

    • Временные списки создаются почти так же, как и переменные.
    • В Python вы используете квадратные скобки ( [] ) при создании списка с запятыми между каждой парой элементов.

    • Вы можете добавлять в список как в Scratch, так и в Python.

    • Вы также можете удалять элементы из списков на обоих языках. В Scratch первый элемент списка находится на позиции 1 . Однако в Python первый элемент списка находится на позиции 0 9.0023 . Это потому, что в Python вы всегда начинаете считать с 0 .

Случайность

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

    • Оба языка также могут выбирать случайные элементы из списка:

Конкатенация в Scratch и Python

    • Объедините строки вместе в Scratch с помощью блока join .
    • В Python вы можете использовать оператор сложения ( + ) для соединения строк.

Индексация

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

Ввод

    • Вы можете собирать пользовательский ввод в Scratch, используя блок ask .
    • В Python вы используете функцию input() .

Приведение типов в Python

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

 номер = 6
число_как_строка = строка (6)
number_as_integer = int(number_as_string)
 

Вызов Python to Scratch Challenge

Взгляните на приведенный ниже код Python, а затем посмотрите, сможете ли вы написать ту же программу на Scratch.

 name = input("Как вас зовут?")
print("Здравствуйте " + name + ". Приятно познакомиться")
age = input("Сколько вам лет?")
возраст = интервал (возраст)
print("Вы родились в "+str(2017 - возраст))
 

Какие части программы проще было создать на Python, а какие — на Scratch?

Вызов

Взгляните на скретч-код ниже. Можете ли вы воссоздать его в Python?

Совместное использование кода Python

Если вы используете Python, который был установлен на вашем компьютере, лучший способ поделиться своим кодом с другими — через службу обмена. GitHub Gists используется большинством разработчиков программного обеспечения для простых фрагментов кода. Вы можете создать учетную запись, а затем иметь столько частных или общедоступных списков, сколько захотите. Еще более простым решением является использование службы вставки, такой как Pastebin.

Эта статья взята из бесплатного онлайн-ресурса

С нуля на Python: переход от блочного к текстовому программированию

Создано

Присоединяйся сейчас

Достигните своих личных и профессиональных целей

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

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

Начать обучение сейчас

Python для начинающих | Python.org

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

Пожертвовать

Поиск по сайту

Добро пожаловать! Вы совсем новичок в программировании?
Если , а не , мы предполагаем, что вы будете искать информацию о
почему и как начать работу с Python.
К счастью,
опытный программист на любом языке программирования (каким бы он ни был)
может подобрать Python очень быстро.
Его также легко использовать и изучать новичкам, поэтому
прыгай!

Установка Python, как правило, проста, и в настоящее время
многие дистрибутивы Linux и UNIX включают недавний Python.
Даже
некоторые компьютеры с Windows (особенно от HP) теперь поставляются с Python
уже установлено.
если вы do нужно установить Python и не уверены в
задача, которую вы можете найти
несколько замечаний по поводу
Руководство для начинающих/Скачать
вики-странице, но на большинстве платформ установка ничем не примечательна.

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

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

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

Если вы хотите узнать, является ли конкретное приложение или библиотека
с определенной функциональностью, доступен в Python, есть
количество возможных источников информации. Веб-сайт Python
обеспечивает
Указатель пакетов Python
(также известный как Cheese Shop , отсылка к Монти Пайтону)
сценарий с таким названием).
Существует также
страницу поиска ряда источников связанных с Python
информация. В противном случае просто
Найдите в Google фразу, включающую слово «питон».
и вы вполне можете получить нужный вам результат.
Если ничего не помогает, спросите на
группа новостей Python
и есть хороший шанс, что кто-то поставит вас на правильный путь.

Читайте также: