이 글은 주로 Python 프로그래밍에서 str.format()의 기본 구문과 고급 사용법을 소개합니다. 매우 자세하고 예제도 함께 제공됩니다. str.format 소개
Python에서는 +를 사용하여 문자열을 연결할 수 있는데, 이는 간단한 경우에 잘 작동합니다. 그러나 복잡한 문자열 연결을 수행해야 할 때 여전히 +를 사용하여 완료하면 코드가 모호해질 뿐만 아니라 코드를 유지 관리하기도 어려워집니다. 이때 이 방법은 충분하지 않습니다.
더하기 기호를 사용하면 다음과 같은 형식이 됩니다.
print "User:" + user_name + " has completed Action:" + \ action_name + " at Time:" + current_time나중에 이 코드를 다시 읽어보면 출력 형식을 직관적으로 확인하기 어렵고, 수정하는 것도 상대적으로 번거로울 것입니다. 대신 %를 사용할 수 있습니다.
print "User:%s has completed Action:%s at Time:%s" % \ (user_name, action_name, current_time)이번에는 코드가 훨씬 더 명확하고 간결해졌습니다. 그러나 Python은 더 공식적으로 권장되는 또 다른 간단하고 우아한 구현 방법을 제공합니다. 문자열 형식을 지정하려면 str.format()을 사용하세요.
print "User:{} has completed Action:{} at Time:{}".format( user_name, action_name, current_time)str.format 둘 다에서 사용할 수 있습니다. 간단한 시나리오이며 번거로운 문자열 연결 작업 없이 복잡한 문자열 교체도 가능합니다. Python의 내장 유형 str과 unicode는 모두 str.format()을 사용하여 문자열 형식을 지정하는 것을 지원합니다. 다음에는 str.format()의 구체적인 사용법에 대해 자세히 논의하겠습니다.
2. str.format의 기본 구문
형식 문자열은 대체할 문자열인 대체 필드를 중괄호 {}로 묶습니다. 중괄호로 묶이지 않은 문자는 결과에 그대로 표시됩니다.
중괄호 안에 대상 문자열의 인덱스를 쓰거나 생략할 수 있습니다. 생략할 경우 형식 괄호 안에 포함된 대상 문자열의 순서대로 교체가 수행됩니다.
"Hello, {boy} and {girl}!".format(boy="John", girl="Mary")키워드 인덱스를 사용하면 매개변수의 위치에 신경 쓸 필요가 없고 문자열의 최종 결과를 한눈에 볼 수 있다는 장점이 있습니다. 향후 코드 유지 관리 시 문자열에 대해 해당 매개변수를 하나씩 검색할 필요 없이 해당 매개변수를 빠르게 수정할 수 있습니다. 참고: 문자열 자체에 중괄호가 포함된 경우 이스케이프하려면 이를 두 번 반복해야 합니다. 예를 들어 문자열 자체에 {가 포함되어 있으면 이것이 일반 문자이고 대체 필드를 둘러싸는 데 사용되는 중괄호가 아님을 Python에 알리기 위해 간단히 {{로 다시 작성합니다.
3.str.format 고급 구문
str.format은 일상 작업에서 접하는 형식화된 출력을 완성할 만큼 매우 강력합니다. 이 방법에 능숙해지면 향후 문자열 처리를 위한 견고한 기반을 마련하고 많은 시간을 절약할 수 있습니다.
"첫 번째 학생은 {student[ 0]}입니다. .".format(student=stu_list)
"John은 {d[john]}세입니다.".format(d=age_dict)
3.2. 매개변수 출력 변환
# call str() on argument "It's a {0!s}." #call repr() on argument "We can get info from {name!r}."
4 str.format의 일반 형식
일반 형식 형식화된 문자열은 다음과 같습니다. :
위 코드에서 볼 수 있듯이 형식 문자열은 field_name, 변환 세 부분으로 나눌 수 있습니다. 및 format_spec은 각각 대체 필드 이름(인덱스), 변환 플래그, 형식 설명에 해당합니다. 그 중 필드명은 필수이고, 후자 2개는 선택사항입니다. 느낌표 뒤에는 변환 플래그가 나오고 콜론 뒤에는 형식 설명이 나옵니다.
fill
은 모든 문자가 될 수 있으며 기본값은 공간.
align
최소 너비가 지정된 경우에만 유효합니다.
b9ad84f66ee821931b305effef7feb07 오른쪽 정렬
= 기호와 숫자 사이에 패딩 문자를 입력하는 경우에만 유효합니다. 예: +0001234
^ 가운데 정렬
기호
숫자에만 유효
+ 모든 숫자 부호 있음
- 음수만 부호 있음(기본 옵션)
즉, 양수 앞에는 공백이 있고 음수 앞에는 기호가 옵니다.
'#'
정수에만 유효합니다.
2진수, 8진수로 자동 변환됩니다. , 16진수 값 앞에 해당 0b, 0o, 0x를 추가합니다.
','
세 숫자마다 , 구분 기호를 자동으로 추가합니다.
width
최소 너비를 정의하는 십진수입니다. 지정하지 않으면 콘텐츠의 너비에 따라 결정됩니다.
정렬을 지정하지 않은 경우 너비 앞에 0을 추가하여 자동으로 0을 채울 수 있습니다. 이는 채우기를 0으로 설정하고 =로 정렬하는 것과 같습니다.
precision
부동 소수점 숫자의 정밀도 또는 문자열의 최대 길이를 결정하는 데 사용됩니다. 정수 값에는 사용할 수 없습니다.
type
매개변수 유형을 결정합니다. 기본값은 문자열인 s입니다.
정수 출력 유형:
b: 이진 형식으로 출력
c: 정수를 해당 유니코드 문자로 변환
d: 10진수로 출력(기본 옵션)
o: 8진수로 출력
x: 16진수 소문자로 출력
메소드 출력, e를 사용하여 지수 부분을 나타냅니다. 기본 정밀도는 6
E: e와 동일하지만 대문자 E를 사용하여 지수 부분을 나타냅니다.
f: 값을 고정 소수점 형식으로 출력합니다. 기본 정밀도는 6
g와 동일: 일반 형식; 주어진 정밀도 p >= 1에 대해 값의 p자리 유효 숫자를 가져와 고정 소수점 또는 과학적 표기법으로 출력합니다(기본 옵션)
G: 일반 형식; g와 동일, 값이 너무 클 경우 지수 부분을 표현하기 위해 E 사용n: g와 동일하지만, 현재 환경의 구분 기호를 사용하여 각 3자리 숫자를 구분함
%: 백분율 표시 형식 사용; 백분율을 사용하여 값을 출력하고 f 표시를 설정합니다.
관련 권장 사항:
php 차단 함수 Intercept_str
위 내용은 Python_python의 str.format()에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!