문자열을 학습하는 과정에서 우리는 이전에 많은 사용법에 대해 이야기를 나눴습니다. 실제 사용에서는 문자열을 형식화하고 형식화를 통해 필요한 결과를 출력해야 하는 경우가 많습니다.
문자열 서식을 지정하는 것은 먼저 공백을 만든 다음 이 공백에 몇 개의 위치를 남겨두고 필요에 따라 해당 내용을 채우는 것입니다. 여기에 남겨진 위치는 자리 표시자와 동일합니다. 하나는 % 연산자를 사용하는 것이고, 다른 하나는 format() 메서드를 사용하는 것입니다.
% 연산자는 문자열 형식을 지정할 때 매우 편리합니다. 구문 구조는 다음과 같습니다.
'%[+][-][0][.m] 형식 문자'%반복
1) iteration은 우리가 채우고 싶은 내용이고, 첫 번째 % 뒤의 형식이 우리가 선택하려는 형식입니다.
2)[+]는 오른쪽 정렬이고 '+'는 입력할 수 있는 매개변수입니다. 숫자는 정렬 너비를 나타냅니다.
3)[-]는 왼쪽 정렬이고 '-'는 입력할 수 있는 매개변수입니다. 숫자는 정렬 너비를 나타냅니다.
4) [.m]의 m은 선택적 정밀도로, 소수점 뒤에 유지할 소수 자릿수를 나타냅니다.
5) 형식화 문자는 우리가 선택해야 하는 형식입니다. 일반적인 유형은 문자열 %s, 10진수 %d, 단일 문자 %c, 부동 소수점 숫자 %f, 16진수 %x 및 8진수 %o, 문자%입니다. %.
% 연산자에 대한 이해는 상대적으로 추상적일 수 있습니다. 예를 통해 알아보겠습니다. 우리가 일반적으로 사용하는 것은 소수점 이하 2자리를 유지하여 부동 소수점 숫자를 출력하는 것입니다. 코드는 다음과 같습니다.
>>>my_str=66666.66666>>>print('소수점 2자리 형식: %.2f'%my_str) 소수점 2자리 형식: 66666.67
소수점을 유지하는 경우 반올림 작업이 자동으로 수행됩니다. 사용 시 형식에 주의하세요. 문자열 형식을 지정하기 위해 하나 이상을 선택할 수 있습니다. 위에서 형식 지정 부분은 '%'입니다. 2f'를 입력한 다음 문자열 끝에 %를 사용하여 해당 문자열을 연결합니다. 이는 해당 내용과 직접적으로 동일합니다.
정렬의 사용법을 다시 소개하겠습니다.
>>>foriinrange(5):...print('%-5d'%i,end='')#왼쪽 정렬...print('%5d'%i)#오른쪽 정렬...0011223344
5는 코드 정렬의 너비입니다. 왼쪽 및 오른쪽 정렬을 사용합니다. 첫 번째 열은 왼쪽 정렬되고 너비는 5입니다. 그런 다음 두 번째 출력은 오른쪽 정렬되므로 출력은 위에 표시됩니다. .
이것은 % 연산자에 관한 것입니다. 아래에서 직접 연습하면 이 지식을 더 빨리 익힐 수 있습니다.
format() 메서드는 문자열 형식을 지정하는 더 많은 메서드를 제공합니다. 기본 구문은 '%'를 '{}' 및 ':'으로 바꾸는 것입니다. 구문 형식은 다음과 같습니다.
str.format()
예를 통해 살펴보겠습니다.
namea='Xiao Ming' nameb='Xiao Hua' print('{}는 {}의 좋은 친구입니다.'.format(namea,nameb))
이 예는 가장 간단한 사용 방법이지만, 이 방법은 나중에 소개되었으므로 그 구체적인 방법을 아래에서 소개하겠습니다.
자리 표시자에서 구조는 다음과 같습니다.
{[색인[:[채우기]정렬][너비][#][.k][유형]]}
다이어그램을 통해 이 구조를 살펴보겠습니다.
위의 예에는 간단한 '{}'만 포함되어 있습니다. 이를 수정하면 위의 구조를 하나씩 설명하겠습니다.
1) 인덱스 는 인덱스 위치입니다. 목록에 있는 객체의 인덱스 위치를 지정하기 위해 숫자를 지정할 수 있습니다. 인덱스 값은 0부터 시작합니다. 인덱스 값이 없으면 왼쪽에서 오른쪽으로 정렬됩니다. 위의 예와 같이 인덱스 값을 추가하면 다음과 같습니다.
namea='샤오밍' nameb='샤오화' print('{1}은(는) {0}'의 좋은 친구입니다.format(namea,nameb))
그런 다음 그들의 위치가 바뀌었습니다.
2) ':'는 후속 사용을 위한 필수 조건이며, 후속 작업 사용 시 반드시 ':'을 추가해야 합니다.
3) 채우기는 공백 채우기에 대한 문자 수로 매개변수를 선택할 수 있습니다.
4) 너비를 사용하면 매개변수를 선택하여 길이를 지정할 수 있습니다.
5) align은 정렬 방법으로 매개변수를 선택할 수 있으며, 매개변수는 오른쪽 정렬인 경우 '>', 왼쪽 정렬인 경우 '<', 오른쪽 정렬인 경우 '='이지만 기호는 맨 왼쪽에 배치되며 '^'입니다. 센터링을 나타냅니다. 너비와 함께 사용됩니다.
예를 살펴보겠습니다:
>>>my_str='dotcpp'>>>print('{:@>10}'.format(my_str))@@@@dotcpp
이 예에서는 오른쪽 정렬을 선택한 다음 너비를 10으로 설정하고 공백 문자를 @ 기호로 바꿨습니다.
6) '#'은 기본 접두사입니다.
7).k in k는 선택적 매개변수로, 소수점 뒤에 유지되는 숫자를 나타내는 데 사용됩니다.
8) type은 유형을 지정하기 위해 매개변수를 선택할 수 있습니다. 일반적으로 사용되는 매개변수에는 문자열을 나타내는 S, 십진 정수를 나타내는 D, 백분율을 나타내는 %, 부동 소수점 숫자를 나타내는 f 또는 F가 있습니다.
아래에서는 위의 방법을 사용하는 예를 사용합니다.
my_str='dotcpp'#먼저 두 개의 문자열을 정의합니다. my_string=123456.654321print('my_str:{1:!^20s}nmystring:{0:$^20.2f}'.format(my_string,my_str))
출력은 다음과 같습니다
my_str:!!!!!!dotcpp!!!!!!!!mystring:$$$$$123456.65$$$$$$
my_str의 경우 '1'은 인덱스 위치이고, '!'는 공백 문자를 대체하고, '^'는 가운데 위치를 나타내고, 20은 너비, 's'는 문자열 유형을 나타냅니다.
my_string의 경우 '0'은 인덱스 위치이고, '$'는 빈 패킷 문자를 대체하고, '^'는 중앙 위치, 20비트 너비를 나타내고, '.2'는 소수점 이하 2자리를 나타내고, 'f'는 부동 소수점 유형.
문자열에 대한 이야기는 여기까지입니다. 문자열은 매우 자주 사용되므로 누구나 연습을 통해 연습하고 숙달해야 합니다.