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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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