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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Ручная компиляция байткода

Хотя файл байткода создается автоматически, мы вручную можем его сгенерировать. Для этого есть несколько способов: компиляция с помощью скрипта py_compile и компиляция с помощью модуля compileall.

Скрипт py_compile применяется для компиляции отдельных файлов. Для компиляции произвольного скрипта user.py в файл с байткодом мы могли бы использовать следующую программу:

Для компиляции в функцию compile() передаем путь к скрипту. После выполнения программы в текущей папке также будет сгенерирован каталог pycache, а в нем файл user.cpython-311.pyc

🐍 Укус питона // 💬 Чат // #теория #модули #байткод
Что выведет этот код?
Anonymous Quiz
35%
Error
49%
76
8%
1
8%
None
Ручная компиляция байткода. Продолжение.

Для компиляции в функцию compile() передаем путь к скрипту. После выполнения программы в текущей папке также будет сгенерирован каталог pycache, а в нем файл user.cpython-311.pyc

Модуль compileall применяется для компиляции всех файлов Python по определенным путям. Например, скомпилируем все файлы в каталоге C:/python/files, смотрим пример.

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

🐍 Укус питона // 💬 Чат // #теория #модули #байткод
Что выведет этот код?
Anonymous Quiz
33%
50
50%
NameError
14%
None
3%
0
Модуль random

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

• random(): генерирует случайное число от 0.0 до 1.0
• randint(): возвращает случайное число из определенного диапазона
• randrange(): возвращает случайное число из определенного набора чисел
• shuffle(): перемешивает список
• choice(): возвращает случайный элемент списка

Функция random() возвращает случайное число с плавающей точкой в промежутке от 0.0 до 1.0. Если же нам необходимо число из большего диапазона, скажем от 0 до 100, то мы можем соответственно умножить результат функции random на 100.

Функция randint(min, max) возвращает случайное целое число в промежутке между двумя значениями min и max.

🐍 Укус питона // 💬 Чат // #теория #модули #random
Модуль 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
59%
15
27%
Syntax Error
15%
(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