Друзья, если вам нужно перепечатать, пожалуйста, указывайте источник:blog.CSDN.net/Генерал сказал, о...
Отказ от ответственности: во время обучения технологии искусственного интеллекта многие студенты задавали мне некоторые вопросы, связанные с Python, поэтому, чтобы дать студентам более обширные знания и лучшее понимание технологии искусственного интеллекта, я попросил своего помощника поделиться этой серией. учебников по python Надеюсь, поможет всем! Поскольку этот учебник по Python написан не мной, он не такой забавный и юмористический, как мое обучение технологии ИИ, и его более скучно изучать; но его знания все еще на месте, и его также стоит прочитать! PS: Для студентов, которые не понимают эту статью, пожалуйста, сначала прочитайте предыдущую статью, и вам не составит труда учиться понемногу каждый день шаг за шагом!
Как упоминалось в предыдущей статье, целые числа Python могут быть записаны в шестнадцатеричной, восьмеричной и двоичной системе счисления. Ниже рассмотрим несколько практических примеров.
>>> 0o1,0o20,0o377 # Octal literals
(1,16,255)
>>> 0x01,0x10,0xFF # Hex literals
(1,16,255)
>>> 0b1,0b10000,0b11111111 # Binary literals
(1,16,255)
Восьмеричное значение 0o377, шестнадцатеричное значение 0xFF и двоичное значение 0b11111111 выше представляют 255 в десятичном виде. Python по умолчанию отображает десятичные значения (основание 10), но предоставляет встроенные функции, которые позволяют нам преобразовывать целые числа в строки чисел в других основаниях:
>>> oct(64),hex(64),bin(64)
('0100','0x40','0b1000000')
Функция oct преобразует десятичное число в восьмеричное, функция hex преобразует десятичное число в шестнадцатеричное, а функция bin преобразует десятичное число в двоичное. Другая встроенная функция int преобразует строку чисел в целое число и может определить основание числа с помощью второго аргумента:
>>> int('64'),int('100',8),int('40',16),int('1000000',2)
(64,64,64,64)
>>> int('0x40',16),int('0b1000000',2) # Literals okay too
(64,64)
Вы также можете преобразовать целое число в строку восьмеричных и шестнадцатеричных чисел, используя вызовы и выражения метода форматирования строки:
>>> '{0:o},{1:x},{2:b}'.format(64,64,64)
'100,40,1000000'
>>> '%o,%x,%X' % (64,255,255)
'100,ff,FF'
В Python 2.6 при написании восьмеричного числа вы можете сразу начать с 0:
>>> 0o1,0o20,0o377 # New octal format in 2.6 (same as 3.0)
(1,16,255)
>>> 01,020,0377 # Old octal literals in 2.6 (and earlier)
(1,16,255)
Но в Python 3.0 синтаксис второй группы в приведенном выше примере приведет к ошибке. Несмотря на то, что в Python 2.6 это не ошибка, будьте осторожны и не начинайте числовую строку с 0, если вы действительно не хотите представлять восьмеричное значение. Чтобы решить этот запутанный метод записи, Python 3.0 изменил восьмеричную форму.В Python 3.0 необходимо использовать 0o, например 0o377.Поэтому в Python 2.6 также следует использовать как можно больше 0o.
Наконец, позвольте мне привести вам несколько примеров. Следующий код создает целое число в шестнадцатеричной форме, отображает его в десятичной форме и преобразует в восьмеричную и двоичную форму:
>>> X = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF
>>> X
5192296858534827628530496329220095L
>>> oct(X)
'017777777777777777777777777777777777777L'
>>> bin(X)
'0b1111111111111111111111111111111111111111111111111111111111 ...and so on...