Рубрики
Без рубрики

Функция Python Hex () – не волшебный трюк

Встроенная функция Hex (целочисленная) (целочисленная) Python принимает один целочисленный аргумент и возвращает шестнадцатеричную строку с префиксом «0x». Если вы назовите Hex (x) на нецеловом X, он должен определить метод __index __ (), который возвращает целое число, связанное с x. В противном случае он бросит тип deyeRror: объект не может быть интерпретирован как целое число. Argantegeran Integer Value или объект, реализующий … Функция Python Hex () – не волшебный трюк Подробнее »

Автор оригинала: Chris.

Python’s Встроенный Hex (целое число) Функция принимает один целочисленный аргумент и возвращает шестнадцатеричную строку с префиксом "0x" Отказ Если вы звоните Hex (x) на неоцентное число х он должен определить __index __ () Метод, который возвращает целое число, связанное с х Отказ В противном случае это бросит TypeError: объект не может быть интерпретирован как целое число Отказ

Аргумент целое число Целочисленное значение или объект, реализующий метод __index __ ().
Возвращаемое значение нить Возвращает строку октальных чисел, префикс с «0x».
Input : hex(1)
Output : '0x1'

Input : hex(2)
Output : '0x2'

Input : hex(4)
Output : '0x4'

Input : hex(8) 
Output : '0x8'

Input : hex(10)
Output : '0xa'

Input : hex(11)
Output : '0xb'

Input : hex(256)
Output : '0x100'

Видео Python Hex ()

Но прежде чем мы будем двигаться дальше, я рад представить вам мою новую книгу Python Python One-listers (Amazon Link).

Если вам нравятся одноклассники, вы будете любить книгу. Это научит вам все, что нужно знать о Одно строка кода Python. Но это тоже Введение в компьютерную науку , наука о данных, машин обучения и алгоритмы. Вселенная в одной строке Python!

Книга была выпущена в 2020 году с помощью книги по программированию мирового класса Nostarch Press (San Francisco).

Ссылка: https://nostarch.com/pythononeliners.

Python Hex () для пользовательских объектов

Если вы звоните Hex (x) на нецеловом или пользовательском объекте х он должен определить __index __ () Метод, который возвращает целое число, связанное с х Отказ

class Foo:    
    def __index__(self):
        return 10

f1 = Foo()
print(hex(f1))
# '0xa'

Как исправить «TypeError:« FLOAT »объект не может быть интерпретирован как целое число«?

Python Hex () Функция может преобразовать все номера только из любой цифры (например, десятичной, двоичной, восьмеричной) к шестнадцатеричной системе. Он не может конвертировать поплавки на шестнадцатеричные числа. Итак, если вы проходите поплавок в Hex () Функция, это бросит TypeError: «FLOAT» объект не может быть интерпретирован как целое число Отказ

>>> hex(11.14)
Traceback (most recent call last):
  File "", line 1, in 
    hex(11.14)
TypeError: 'float' object cannot be interpreted as an integer

Чтобы устранить эту ошибку, вы можете округлить поплавок к целым числу, используя встроенный раунд () Функция или вы пишете свою собственную функцию преобразования:

Как преобразовать поплавок на шестнадцатеричное число в Python?

Чтобы преобразовать заданное значение поплавка в шестнадцатеричное значение, используйте float.hex () Функция, которая возвращает представление номера с плавающей точкой в качестве шестнадцатеричной строки, включая ведущую 0x и трейлинг P и показатель.

Обратите внимание, что экспонент дается как мощность 2, на которую он масштабируется, например, 0x1.11p + 3 будет масштабироваться как 1.11 * 2 ^ 3 используя показатель 3.

>>> 3.14.hex()
'0x1.91eb851eb851fp+1'
>>> 3.15.hex()
'0x1.9333333333333p+1'

В качестве альтернативы, если вам нужна не с плавающей точкой, шестнадцатеричное представление, похожее на Большинство онлайн-преобразователей Используйте команду hex (struct.unpack (' Отказ

import struct

def float_to_hex(f):
    return hex(struct.unpack('

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

0x4048f5c3
0x42b1c28f

Источники :

Гест-форматирование подпруги

Рассмотрим некоторые варианты форматирования шестнадцатеричного преобразования проблемы преобразования числа в Строчные буквы/в верхнем регистре и с/без префикса . Мы используем Формат спецификации языка Отказ Вы можете Узнать больше на этой теме В нашем подробном руководстве блога.

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

Как преобразовать номер в нижний регистр шестнадцатеричный с префиксом

>>> '%#x' % 12
'0xc'
>>> f'{12:#x}'
'0xc'
>>> format(12, '#x')
'0xc'

Как преобразовать номер в строчные шестнадцатеричные без префикса без префикса

>>> '%x' % 12
'c'
>>> f'{12:x}'
'c'
>>> format(12, 'x')
'c'

Как преобразовать номер в прописные шестнадцатеричные с префиксом

>>> '%#X' % 12
'0XC'
>>> f'{12:#X}'
'0XC'
>>> format(12, '#X')
'0XC'

Как преобразовать номер в прописные шестнадцатеричные без префикса без префикса

>>> '%X' % 12
'C'
>>> f'{12:X}'
'C'
>>> format(12, 'X')
'C'

Резюме

Python’s Встроенный Hex (целое число) Функция принимает один целочисленный аргумент и возвращает шестнадцатеричную строку с префиксом "0x" Отказ

>>> hex(1)
'0x1'
>>> hex(2)
'0x2'
>>> hex(4)
'0x4'
>>> hex(8)
'0x8'
>>> hex(10)
'0xa'
>>> hex(11)
'0xb'
>>> hex(256)
'0x100'

Если вы звоните Hex (x) на неоцентное число х он должен определить __index __ () Метод, который возвращает целое число, связанное с х Отказ

class Foo:    
    def __index__(self):
        return 10

f1 = Foo()
print(hex(f1))
# '0xa'

В противном случае это бросит TypeError: объект не может быть интерпретирован как целое число Отказ

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/python-hex-function/”