<aside> 👋 Всем привет!! Это ahillary

Я собрал все вопросы с back end собесов по python, которые проходил сам. Также добавил самые популярные вопросы по python.

Надеюсь, будет полезно.

P.S. Вопросы и ответы будут обновляться/добавляться. На данный момент это не идеальный сборник

Вопросы по темам:

About the team


Author: https://t.me/ahillary

Resources


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 (один с восемнадцатью десятичными знаками).

Почему это важно?

  1. Точность расчетов:
  2. Удобство использования:

В контексте кода

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 токена.