Числа: целые, вещественные, комплексные | 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
Дополнительные методы
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 качественно / Хабр
Здравствуйте всем!
Решил поделиться методом обучения сего мощного, но в одно и тоже время лёгкого языка программирования. Он действительно лёгкий. Вам не надо будет запоминать и вводить лишних символов, которые Вы можете встретить в Си-подобных языках.
Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования
Для начала окунёмся в возможности и узнаем, что же умеет Python?
А зачем мне твой Python?
Много начинающих программистов задают подобные вопросы. Это как с покупкой телефона, скажите, почему я должен купить этот телефон, а не этот?
Качество программного обеспечения
Для многих, в том числе и для меня, основные преимущества — это удобочитаемый синтаксис. Не много языков могут похвастаться им. Программный код на Python читается легче, что значит, многократное его использование и обслуживание выполняется гораздо проще, чем использование программного кода на других языках сценариев.
Библиотеки поддержки
В составе Python поставляется большое число собранных и переносимых функциональных возможностей, известных как стандартная библиотека. Эта библиотека предоставляет Вам массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Python допускает расширение как за счёт ваших собственных библиотек, так и за счёт библиотек, созданных другими разработчиками.
Переносимость программ
Большая часть программ на языке Python выполняется без изменений на всех основных платформах. Перенос программного кода из Linux в Windows заключается в простом копировании файлов программ с одной машины на другую. Также Python предоставляет Вам массу возможностей по созданию переносимых графических интерфейсов .
Скорость разработки
По сравнению с компилирующим, или строго типизированными языками, такими как С, С++ или Java, Python во много раз повышает производительность труда разработчика.
Где используется Python?
- Компания Google использует Python в своей поисковой системе и оплачивает труд создателя Python — Гвидо ван Россума
- Такие компании, как Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения
- Служба коллективного использования видеоматериалов YouTube в значительной степени реализована на Python
- NSA использует Python для шифрования и анализа разведданных
- Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка
- Популярная программа BitTorrent для обмена файлами в пиринговых сетях написана на языке Python
- Популярный веб-фреймворк App Engine от компании Google использует Python в качестве прикладного языка программирования
- NASA, Los Alamos, JPL и Fermilab используют Python для научных вычислений.
и другие компании также используют этот язык.
Python является языком сценариев.
Литература
Вот мы и познакомились поближе с языком программирования Python. Можно сказать отдельно, что плюсы Python состоят еще в том, что у него есть масса качественной литературы. Не каждый язык этим может похвастаться. К примеру язык программирования JavaScript не может порадовать пользователей множеством литературы, хотя язык действительно неплохой.
Вот источники, которые помогут Вам познакомиться ближе с Python, а может и стать будущим Гвидо ван Россумом.
*Некоторые источники могут быть на английском. Не стоит этому удивляться, сейчас масса отличной литературы пишется именно на английском языке. Да и для самого программирования надо знать хотя бы базовые знания английского.
Настоятельно рекомендую прочитать первым делом книгу — Марк Лутц. Изучаем Python, 4-е издание. Книга переведена на русский язык, так что бояться не стоит, если Вы вдруг не знаете английский. Но именно четвёртое издание.
Для тех, кто знает английский, можно прочитать документацию на официальном сайте Python. Там всё довольно понятно описано.
Неплохой ресурс — Основы программирования на Python. Учебник. Вводный курс
Одна из моих недавно прочитанных книг — Язык программирования Python. Объясняется всё довольно доступно и на русском.
Хорошая книга, тоже всё доступно и на русском — Python. Подробный справочник, 4-е издание.
А если же Вы более принимаете информацию по видео, то могу посоветовать уроки от компании Google, которые ведёт Ник Парланте — ученик из Стэнфорда. Шесть видеолекций на YouTube . Но в бочке мёда тут есть капля дёгтя… Ведёт он на английском языке с английскими субтитрами. Но надеюсь, что остановит это немногих.
Что делать, если я прочитал книги, но не знаю как применять знания?
Без паники!
Советую почитать книгу Марк Лутц. Программирование на Python (4-е издание). Ранее было «изучаем», а тут «Программирование». В «Изучаем» — Вы получаете знания Python, в «Программирование» — Марк Вас учит как их применять в Ваши будущие программы. Книга очень полезная. И думаю одной её Вам хватит.
Хочу практики!
Легко.
Выше я писал о видеолекциях от Ника Парланте на YouTube, но у них есть также некие задачки на сайте. Интересные задачки, советую каждому. На английском.
Недавно школа программирования Codecademy открыла интерактивные Python-курсы. После прохождения каждого мини-курса, Вам будет позволено пройти некую «практику». Уроки ведутся на английском, но всё доступно и понятно. Начинается с переменных и типов данных.
И на окончание — хорошие закрепляющие и начинающие курсы. Learn Python The Hard Way.
Ну вот и всё!
Ну вот и всё. Теперь Вы можете учить этот язык программирования. Я кинул хорошие ресурсы и книги, и дальше всё в Ваших руках. Также не забываем про неофициальный русский Python сайт. Пусть он всегда будет у Вас под рукой.
Русский, неофициальный Python-сайт
Русский сайт программистов Python — здесь Вам всегда помогут на форуме. И много полезной информации на главной.
Дерзайте! Всем удачи.
Синтаксис Python
❮ Предыдущий Далее ❯
Выполнить синтаксис Python
Как мы узнали на предыдущей странице, синтаксис Python можно выполнить, написав непосредственно в командной строке:
>>> print(“Hello, World!”)
Hello, World!
На этой странице
Выполнить синтаксис Python Отступ Python Переменные Python Комментарии Python Упражнения
Или создав на сервере файл Python с расширением .py и запустив его в командной строке:
C:\Users\ Ваше имя >python myfile.py
Отступ Python
Отступ относится к пробелам в начале строки кода.
Там, где в других языках программирования отступы в коде предназначены для удобочитаемости только отступ в Python очень важен.
Python использует отступ для обозначения блока кода.
Пример
, если 5 > 2:
print(“Пять больше двух!”)
Попробуйте сами »
Python выдаст ошибку, если вы пропустите отступ:
Пример
Синтаксическая ошибка:
если 5 > 2:
print(“Пять больше двух!”)
Попробуйте сами »
количество пробелов зависит от вас как программиста, чаще всего используется четыре, но быть хотя бы одним.
Пример
, если 5 > 2:
print(“Пять больше двух!”)
, если 5 > 2:
print(“Пять больше двух!”)
Попробуйте сами »
Вы должны использовать одинаковое количество пробелов в одном и том же блоке кода, в противном случае Python выдаст ошибку:
Пример
Синтаксическая ошибка:
, если 5 > 2:
print(“Пять больше двух!”)
print(“Пять больше, чем
два!”)
Попробуйте сами »
Переменные Python
В Python переменные создаются, когда вы присваиваете им значение:
Пример
Переменные в Python:
x = 5
y = “Привет, мир!”
Попробуйте сами »
Python не имеет команды для объявления переменной.
Вы узнаете больше о переменных в Глава «Переменные Python».
Комментарии
Python имеет возможность комментирования для документирования в коде.
Комментарии начинаются с #, а оставшуюся часть строки Python отобразит как комментарий:
Пример
Комментариев в Python:
#Это комментарий.
print(“Привет, мир!”)
Попробуйте сами »
Проверьте себя с помощью упражнений
Упражнение:
Вставьте недостающую часть кода ниже, чтобы вывести «Hello World».
("Привет, мир")
Начать упражнение
❮ Предыдущий Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
Лучшие ссылки
Справочник по HTMLСправочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3. CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery
2 Лучшие примеры 20123
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery FORUM |
О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2022 Refsnes Data. Все права защищены.
W3Schools работает на основе W3. CSS.
Изучайте программирование на Python онлайн — настоящий Python
Чем мы можем вам помочь?
Мы обновляем эту страницу, чтобы сделать ее более полезной. Если у вас есть время поделиться своими мыслями о том, как мы можем улучшить эту страницу, нажмите здесь:
Поделитесь своим отзывом »
По адресу Real Python вы можете изучите все Python с нуля. Все, от абсолютных основ Python до веб-разработки и веб-скрапинга, визуализации данных и многого другого:
Получайте короткий и приятный Python Trick на ваш почтовый ящик каждые пару дней. Никакого спама никогда. Отписаться в любое время. Куратор: команда Real Python.
Чем мы можем вам помочь?
Я новичок в Python и программировании в целом —Как я могу изучить основы Python?
Изучение основ Python »
Я разработчик Python среднего уровня —Как мне вывести свои навыки и продуктивность на новый уровень?
Пишите чистый и Pythonic-код »
У меня есть опыт работы с другими языками программирования —Как мне как можно быстрее освоить Python?
Ускорьте работу с Python »
Или просмотрите последние учебные пособия »
Что говорят питонисты:
Настоящий Python существует с 2012 года. «Путешествие на Python» стольких читателей, как вы. Вот что некоторые из них сказали о нас:
« Real Python — отличный ресурс для начинающих разработчиков. Вы не только изучите Python, но и научитесь использовать его при создании практических и функциональных веб-приложений».
— Джаред Нильсен
“ Вы делаете замечательную работу по объяснению и обучению Python таким образом, чтобы такие люди, как я, полный новичок, могли действительно понять. Я думаю, у вас есть дар сделать Python более доступным для людей, не связанных с миром программирования. Это то, что я никогда не думал, что буду делать или изучать, и с небольшим толчком от вас я учусь этому, и я вижу, что это будет только полезно для меня в будущем».
— Ши Клюсевич
« Лучший способ выучить Python, не убивая себя, — это Настоящий Python!! »
— Ставрос Анастасиадис
«Я использую Python уже два года, и со временем мои навыки улучшились.