<aside> 👋 Всем привет!! Это ahillary
Я собрал все вопросы с back end собесов по python, которые проходил сам. Также добавил самые популярные вопросы по python.
Надеюсь, будет полезно.
P.S. Вопросы и ответы будут обновляться/добавляться. На данный момент это не идеальный сборник
Вопросы по темам:
Author: https://t.me/ahillary
Channel: https://t.me/semolina_code_python
Chat: https://t.me/python_with_ahillary
YouTube: https://www.youtube.com/@semolinacode
Coding training: https://t.me/how_to_code_web3
Private group with software: https://t.me/arbuzerspublic
В контексте криптовалют и токенов, таких как USDT, функция decimals
определяет, сколько десятичных знаков может иметь токен. Это важно для отображения и расчета значений токенов.
Представьте, что у вас есть 1 токен, и decimals
равен 6. Это значит, что этот 1 токен можно представить как 1,000000 (один с шестью десятичными знаками). Если decimals
равен 18, то 1 токен будет представлен как 1,000000000000000000 (один с восемнадцатью десятичными знаками).
decimals
6 проще понять, чем 1 токен с decimals
6 в "сырых" единицах.pythonSkopiuj kod
# Получаем количество десятичных знаков для токена
decimals = contract.functions.decimals().call()
print('decimals', decimals)
Этот код вызывает функцию decimals
у смарт-контракта, чтобы узнать, сколько десятичных знаков используется для данного токена. После этого, когда мы получаем баланс токенов, мы можем разделить "сырое" значение баланса на 10 в степени decimals
, чтобы получить удобочитаемое значение.
pythonSkopiuj kod
# Получаем баланс адреса
balance = contract.functions.balanceOf('0x0bB902fC9e168343a19d622E79cE033452e64Dd8').call()
# Выводим баланс в "сырых" единицах
print('balance', balance)
# Преобразуем баланс в удобочитаемое значение
print('balance', balance / 10 ** decimals)
Здесь balance
сначала выводится в "сырых" единицах, а затем делится на 10 в степени decimals
, чтобы получить значение в удобочитаемом формате. Например, если баланс равен 1000000 и decimals
равен 6, то это будет отображено как 1.0 токена.