Начальное обучение с нуля Python (14) -форматная строка

Что такое строка формата

Форматирование строки заключается в выводе строки в соответствии с единой спецификацией. Если спецификация не единообразна, это может вызвать недоразумение.

format () метод

  • принятьПараметр местоположенияс участиемПараметр ключевого словаДва параметра

  • Оба переходят к одномузаменаПоле, а поле замены представлено {} в строке

Вставьте описание изображения сюда
Вставьте описание изображения сюда
Вставьте описание изображения сюда
внимание: При объединении позиционных параметров и параметров ключевого слова, позиционные параметры должны быть перед параметрами ключевого слова, иначе будет сообщено об ошибке
Вставьте описание изображения сюда

Как распечатать {}? ? ?

Вставьте описание изображения сюда
Угадайте, что напечатает следующий код?

>>> '{0:.1f}{1}'.format(27.658,'GB')

Вставьте описание изображения сюда

  • В замещающем доменедвоеточие: Показывает начало символа форматирования, .1 означает округление, с одной зарезервированной десятичной запятой, f означает вывод числа с фиксированной запятой (числа с фиксированной запятой и числа с плавающей запятой аналогичны, то есть выводить десятичную дробь)

Оператор форматирования%

  • Когда% встречает строку,% становится оператором, эксклюзивным для строки

символ смысл
% c Форматирование символов и их кодов ASCII
% s Строка формата
% d Форматировать целое число
% The Форматирование восьмеричного числа без знака
%Икс Форматирование шестнадцатеричного числа без знака
%ИКС Форматирование беззнакового шестнадцатеричного числа (в верхнем регистре)
% f Форматирование чисел с плавающей запятой, вы можете указать точность после десятичной запятой
% e Форматирование чисел с плавающей запятой в экспоненциальном представлении
% E Та же функция, что и% e, формат числа с плавающей запятой в экспоненциальном представлении
Решите использовать% f или% e в зависимости от значения
Тот же эффект, что и у% g, используйте% f или% E в зависимости от значения
  • % c: символы форматирования и их коды ASCII

Вставьте описание изображения сюда
Вставьте описание изображения сюда

  • % s: строка формата

Вставьте описание изображения сюда

  • % d: форматированное целое число

Вставьте описание изображения сюда

  • % o: форматировать восьмеричное число без знака (десятичное → восьмеричное)

Вставьте описание изображения сюда

  • % x: форматирование шестнадцатеричного числа без знака

  • % X: форматирование шестнадцатеричного числа без знака (верхний регистр)

Вставьте описание изображения сюда

  • % f: форматирование чисел с плавающей запятой, вы можете указать точность после десятичной запятой

Вставьте описание изображения сюда

  • % e: форматировать числа с плавающей запятой в экспоненциальном представлении

  • % E: та же функция, что и% e, форматирование чисел с плавающей запятой в экспоненциальном представлении

Вставьте описание изображения сюда

  • % g: решите использовать% f или% e в соответствии со значением

  • % G: та же функция, что и% g, используйте% f или% E в соответствии со значением

Вставьте описание изображения сюда

Форматирование вспомогательных команд

символ смысл
млн m показывает минимальную общую ширину, n - количество цифр после десятичной точки
- Результат с выравниванием по левому краю
+ Показывать знак плюса перед положительными числами
# Показывать '0o' перед восьмеричным числом, показывать '0x' или '0X' перед шестнадцатеричным числом
0 Заполните отображаемое число "0" вместо пробелов.
  • mn: m показывает минимальную общую ширину (занято), n - количество цифр после десятичной точки.

Вставьте описание изображения сюда
Вставьте описание изображения сюда

  • -: Результат выравнивается по левому краю

Вставьте описание изображения сюда

  • +: Отображать знак плюса перед положительными числами

Вставьте описание изображения сюда

  • #: Отображать '0o' перед восьмеричным числом и отображать '0x' или '0X перед шестнадцатеричным числом

Вставьте описание изображения сюда
Вставьте описание изображения сюда

  • 0: Заполните '0' перед отображаемым числом вместо пробелов.

Вставьте описание изображения сюда

Управляющие символы Python и их значение

символ Описание
\ ' апостроф
\ " Двойные кавычки
\ а Звоните в систему
\ b Backspace
\ п Новая линия
\ т Горизонтальная вкладка (TAB)
\v Вертикальная табуляция
Возврат каретки
\ f Подача формы
\ The Символы, представленные восьмеричными числами
\Икс Символы, представленные шестнадцатеричными числами
\ 0 Представляет нулевой символ
\\ Обратная косая черта

Задача

0. Что будет напечатано в следующей строке кода?

>>> "{
    
    {1}}".format("不打印", "打印")

{1}, потому что {1} был объяснен
1. Каковы параметры a, b и c в следующем коде?

>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
'I love FishC.com'

Параметр ключевого слова
2. Каковы параметры {0}, {1}, {2} в следующем коде?

>>> "{0} love {1}.{2}".format("I", "FishC", "com")
'I love FishC.com'

Параметр позиции
3. Если вы хотите отобразить Pi = 3,14, как вы должны заполнить строку перед форматированием?

''.format('Pi = ', 3.1415)
'{0}{1:.2f}'.format('Pi = ', 3.1415)

Вставьте описание изображения сюда
4. Напишите программу шестнадцатеричного преобразования, демонстрация программы выглядит следующим образом (подсказка, двоичный код десятичного преобразования может использовать bin () этот BIF):
Вставьте описание изображения сюда
печатайте напрямую, число внутри будет рассматриваться как строка

print("十进制 -> 十六进制 :num -> '%X' % num")

Вставьте описание изображения сюда
Отдельно печатайте строки и числа и соединяйте их с помощью end = "". Таких отпечатков много. Еще одна вещь, которую можно улучшить, - это добавить "0x" и "0o" перед шестнадцатеричным и восьмеричным числами.

while 1:
    num = input("请输入一个整数(输入Q结束程序):")
    if num != 'Q':
        num = int(num)
        print("十进制 -> 十六进制 :",end = "")
        print( num, end = '')
        print('->',end = '')
        print('%X' % num)
        print("十进制 -> 八进制 :",end = "")
        print( num, end = '')
        print('->',end = '')
        print('%o' % num)
        print("十进制 -> 二进制 :",end = "")
        print( num, end = '')
        print('->',end = '')
        print(bin(num))

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

q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
        num = int(num)
        print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
        print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
        q = False

Вставьте описание изображения сюда

Используйте # вместо 0o, 0x

q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
        num = int(num)
        print('十进制 -> 十六进制 : %d -> %#x' % (num, num))
        print('十进制 -> 八进制 : %d -> %#o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
        q = False

Вставьте описание изображения сюда

рекомендация

отblog.csdn.net/qq_44520665/article/details/113572610