Что такое строка формата
Форматирование строки заключается в выводе строки в соответствии с единой спецификацией. Если спецификация не единообразна, это может вызвать недоразумение.
format () метод
-
принятьПараметр местоположенияс участиемПараметр ключевого словаДва параметра
-
Оба переходят к одномузаменаПоле, а поле замены представлено {} в строке
внимание: При объединении позиционных параметров и параметров ключевого слова, позиционные параметры должны быть перед параметрами ключевого слова, иначе будет сообщено об ошибке
Как распечатать {}? ? ?
Угадайте, что напечатает следующий код?
>>> '{0:.1f}{1}'.format(27.658,'GB')
-
В замещающем доменедвоеточие: Показывает начало символа форматирования, .1 означает округление, с одной зарезервированной десятичной запятой, f означает вывод числа с фиксированной запятой (числа с фиксированной запятой и числа с плавающей запятой аналогичны, то есть выводить десятичную дробь)
Оператор форматирования%
символ | смысл |
---|---|
% c | Форматирование символов и их кодов ASCII |
% s | Строка формата |
% d | Форматировать целое число |
% The | Форматирование восьмеричного числа без знака |
%Икс | Форматирование шестнадцатеричного числа без знака |
%ИКС | Форматирование беззнакового шестнадцатеричного числа (в верхнем регистре) |
% f | Форматирование чисел с плавающей запятой, вы можете указать точность после десятичной запятой |
% e | Форматирование чисел с плавающей запятой в экспоненциальном представлении |
% E | Та же функция, что и% e, формат числа с плавающей запятой в экспоненциальном представлении |
%г | Решите использовать% f или% e в зависимости от значения |
%Г | Тот же эффект, что и у% g, используйте% f или% E в зависимости от значения |
-
% x: форматирование шестнадцатеричного числа без знака
-
% X: форматирование шестнадцатеричного числа без знака (верхний регистр)
-
% e: форматировать числа с плавающей запятой в экспоненциальном представлении
-
% E: та же функция, что и% e, форматирование чисел с плавающей запятой в экспоненциальном представлении
-
% g: решите использовать% f или% e в соответствии со значением
-
% G: та же функция, что и% g, используйте% f или% E в соответствии со значением
Форматирование вспомогательных команд
символ | смысл |
---|---|
млн | m показывает минимальную общую ширину, n - количество цифр после десятичной точки |
- | Результат с выравниванием по левому краю |
+ | Показывать знак плюса перед положительными числами |
# | Показывать '0o' перед восьмеричным числом, показывать '0x' или '0X' перед шестнадцатеричным числом |
0 | Заполните отображаемое число "0" вместо пробелов. |
-
#: Отображать '0o' перед восьмеричным числом и отображать '0x' или '0X перед шестнадцатеричным числом
Управляющие символы 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