Учебник серии Python 62

искусственный интеллект

Друзья, если вам нужно перепечатать, пожалуйста, указывайте источник: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...