🐍 Укус питона 🐍
2.61K subscribers
975 photos
17 videos
284 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Модуль random

Функция randrange() возвращает случайное целое число из определенного набора чисел. Она имеет три формы:

• randrange(stop): в качестве набора чисел, из которых происходит извлечение случайного значения, будет использоваться диапазон от 0 до числа stop
• randrange(start, stop): набор чисел представляет диапазон от числа start до числа stop
• randrange(start, stop, step): набор чисел представляет диапазон от числа start до числа stop, при этом каждое число в диапазоне отличается от предыдущего на шаг step

🐍 Укус питона // 💬 Чат // #теория #модули #random #randrange
Работа со списком

Для работы со списками в модуле random определены две функции: функция shuffle() перемешивает список случайным образом, а функция choice() возвращает один случайный элемент из списка:

🐍 Укус питона // 💬 Чат // #теория #модули #random #список
Что выведет этот код?
Anonymous Quiz
60%
15
26%
Syntax Error
14%
(5, 10)
Модуль locale

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

И для решения проблемы форматирования под определенную культуру в Python имеется встроенный модуль locale.

Для установки локальной культуры в модуле locale определена функция setlocale(). Она принимает два параметра, вторая часть кода:

Первый параметр указывает на категорию, к которой применяется функция - к числам, валютам или и числам, и валютам.

🐍 Укус питона // 💬 Чат // #теория #модули #locale
Модуль locale

В качестве значения для параметра мы можем передавать одну из следующих констант, смотрим пример:

Второй параметр функции setlocale указывает на локальную культуру, которую надо использовать. На ОС Windows можно использовать код страны по ISO из двух символов, например, для США - "us", для Германии - "de", для России - "ru". Но на MacOS необходимо указывать код языка и код страны, например, для английского в США - "en_US", для немецкого в Германии - "de_DE", для русского в России - "ru_RU". По умолчанию фактически используется культура "en_US".

🐍 Укус питона // 💬 Чат // #теория #модули #locale
Каков результат вызова функции display_person().
Anonymous Quiz
32%
TypeError
39%
Emma 25
29%
name age
Модуль locale. Продолжение.

Непосредственно для форматирования чисел и валют модуль locale предоставляет две функции:
• currency(num): форматирует валюту
• format_string(str, num): подставляет число num вместо плейсхолдера в строку str

Применяются следующие плейсхолдеры:
• d: для целых чисел
• f: для чисел с плавающей точкой
• e: для экспоненциальной записи чисел

Перед каждым плейсхолдером ставится знак процента %, например, первый пример:

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

🐍 Укус питона // 💬 Чат // #теория #модули #locale
Выберите правильное объявление функции fun1(), чтобы мы могли успешно выполнить следующий вызов функции.
Anonymous Quiz
24%
def fun1(**kwargs)
16%
Нет, в Python это невозможно.
20%
def fun1(args*)
39%
def fun1(*data)
Модуль locale. Продолжение.

Применим локализацию чисел и валют в немецкой культуре:

Если вместо конкретного кода в качестве второго параметра передается пустая строка, то Python будет использовать культуру, которая применяется на текущей рабочей машине. А с помощью функции getlocale() можно получить эту культуру.

🐍 Укус питона // 💬 Чат // #теория #модули #locale
Что выведет этот код?
Anonymous Quiz
13%
5
46%
15
24%
(15, 5)
17%
Syntax Error
Модуль decimal

При работе с числами с плавающей точкой (то есть float) мы сталкиваемся с тем, что в результате вычислений мы получаем не совсем верный результат, смотрим код:

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

Ключевым компонентом для работы с числами в этом модуле является класс Decimal. Для его применения нам надо создать его объект с помощью конструктора. В конструктор передается строковое значение, которое представляет число, вторая часть:

После этого объект Decimal можно использовать в арифметических операциях, последняя часть кода:

🐍 Укус питона // 💬 Чат // #теория #модули #decimal
Что выведет этот код?
Anonymous Quiz
4%
15
6%
8
81%
(8, 7)
8%
Syntax Error