문자열 형식을 사용하면 변수와 값을 결합하여 동적 문자열을 만들 수 있습니다. 이번 글에서는 문자열 형식을 지정하는 5가지 방법에 대해 설명합니다.
더 나은 이해를 위해 예제를 통해 문자열 형식을 지정하는 다양한 방법을 배우게 됩니다. 지금 살펴보겠습니다!
Python에서 문자열 형식을 지정하는 방법
문자열 형식 지정을 수행하는 방법에는 다섯 가지가 있습니다. 파이썬
- % 연산자를 사용하여 형식을 지정합니다.
- format() 문자열 메소드를 사용하여 형식화합니다.
- f-문자열이라고 하는 문자열 리터럴로 형식을 지정합니다.
- 문자열 템플릿 클래스를 사용한 형식 지정
- center() 문자열 메소드를 사용하여 형식화합니다.
따라서 위에서 언급한 방법 전체를 살펴보고 어떤 문자열 형식 지정 전략이 가장 좋은지에 대해서도 중점적으로 살펴보겠습니다.
1. % 연산자를 사용하여 문자열 형식을 지정하는 방법
문자열 형식화의 가장 오래된 방법입니다. 여기서는 모듈로를 사용합니다. % 운영자 . 모듈로 % 문자열 형식화 연산자라고도 합니다.
% 연산자를 사용하는 Python 형식 문자열
The 칙칙하고 앙상한 떠돌이 개 %s gobbled down % 'hurriedly' 표현식에서 문자열 내의 %s 자리 표시자는 'hurriedly' 값으로 대체됩니다.
파이썬3
CSS 코멘트
print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)> |
>
>산출
The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>
모듈로 연산자를 사용하여 여러 문자열 주입
여기서는 % 연산자를 사용하여 여러 문자열을 삽입합니다.
파이썬3
x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))> |
>
>산출
Misha walked and looked around>
% 연산자를 사용한 Python의 정밀 처리
부동 소수점 숫자는 다음 형식을 사용합니다. %a.bf . 여기, ㅏ 문자열에 표시되는 최소 자릿수입니다. 전체 숫자의 자릿수가 이만큼 많지 않으면 공백으로 채워질 수 있습니다.
이 근처에, 친구 소수점 이하 몇 자리까지 표시할지를 나타냅니다.
이 코드에서 'The value of pi is: %5.4f' 문자열에는 형식 지정자 %5.4f가 포함되어 있습니다. %5.4f 형식 지정자는 최소 너비가 5이고 정밀도가 소수점 이하 4자리인 부동 소수점 숫자의 형식을 지정하는 데 사용됩니다.
파이썬3
print>(>'The value of pi is: %5.4f'> %>(>3.141592>))> |
>
>산출
The value of pi is: 3.1416>
다양한 형식 변환 유형
주어진 코드에서 형식화 문자열 Python은 %d,%f를 사용하여 정수 및 부동 소수점으로 변환됩니다.
파이썬3
variable>=> 12> string>=> 'Variable as integer>=> %>d
> Variable as>float> => %>f'>%>(variable, variable)> print> (string)> |
>
>
문자열을 int로 변환하는 방법산출
Variable as integer = 12 Variable as float = 12.000000>
메모: %-형식 지정에 대한 자세한 내용은 다음을 참조하세요. %를 사용하여 Python에서 문자열 형식 지정
2. format() 메서드를 사용하여 문자열 형식을 지정하는 방법
Format() 메서드 복잡한 문자열 형식을 보다 효율적으로 처리하기 위해 Python3에 도입되었습니다.
포맷터는 중괄호 { } 쌍으로 정의된 하나 이상의 대체 필드와 자리 표시자를 문자열에 넣고 str.format() . 자리 표시자에 넣고 형식 함수에 매개 변수로 전달된 문자열과 연결하려는 값입니다.
통사론: '여기에 문자열 {}과 {}'.format('something1','something2')
format() 메서드를 사용하여 문자열 Python 형식 지정
이 코드는 {}를 자리 표시자로 사용하고 있으며 자리 표시자와 '같음'에 대해 Called.format() 메서드를 사용합니다.
파이썬3
print>(>'We all are {}.'>.>format>(>'equal'>))> |
>
>산출
We all are equal.>
인덱스 기반 삽입
이 코드에서는 해당 값이 배치될 위치를 나타내기 위해 문자열 '{2} {1} {0}' 내에서 인덱스가 있는 중괄호 {}를 사용합니다.
파이썬3
print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))> |
>
>산출
Read the directions>
키워드를 할당하여 개체 삽입
이 코드에서는 명명된 자리 표시자({a}, {b}, {c})가 있는 중괄호 {}가 문자열 'a: {a}, b: {b}, c: {c}' 내에서 사용되어 다음을 나타냅니다. 해당 명명된 인수가 배치될 위치입니다.
파이썬3
print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))> |
>
>산출
a: 1, b: Two, c: 12.3>
삽입된 객체를 재사용
이 코드에서는 이름이 지정된 자리 표시자({p})가 있는 중괄호 {}가 '첫 번째 {p}는 괜찮았지만 {p} {p}는 해당 이름이 지정된 위치를 나타내기 어려웠습니다.'라는 문자열 내에서 사용되었습니다. 인수 p가 배치됩니다.
파이썬3
print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))> |
>
>산출
The first second was alright, but the second second was tough.>
the.format() 메서드를 사용한 부동 소수점 정밀도
통사론: {[색인]:[너비][.정밀도][유형]}
유형은 형식 코드와 함께 사용할 수 있습니다.
- '디' 정수의 경우
- '에프' 부동 소수점 숫자의 경우
- '비' 이진수의 경우
- '영형' 8진수의 경우
- '엑스' 8진수 16진수의 경우
- '에스' 문자열의 경우
- '그것은' 지수 형식의 부동 소수점의 경우
예:
두 코드 모두 문자열 형식화를 수행하고 있습니다. 첫 번째 문자열은 '%'로 형식화되고 두 번째 문자열은 .format()으로 형식화됩니다.
파이썬3
센토스 vs 레드햇
print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))> |
>
>산출
The valueof pi is: 3.14159 The valueof pi is: 3.14159>
메모: str.format()에 대한 자세한 내용은 다음을 참조하세요. Python의 format() 함수
3. Python f-문자열 이해
PEP 498은 리터럴 문자열 보간(Literal String Interpolation) 또는 더 일반적으로 다음과 같이 알려진 새로운 문자열 형식 지정 메커니즘을 도입했습니다. F-현 (문자열 리터럴 앞에 선행 f 문자가 있기 때문에) Python에서 f-String의 기본 아이디어는 문자열 보간을 더 간단하게 만드는 것입니다.
Python에서 f-문자열을 만들려면 문자열 앞에 문자 f를 붙입니다. 문자열 자체는 다음과 같은 방식으로 형식을 지정할 수 있습니다. str.str. 체재() . F-문자열은 형식 지정을 위해 문자열 리터럴 내에 Python 표현식을 포함하는 간결하고 편리한 방법을 제공합니다.
F-문자열을 사용한 문자열 형식화
이 코드에서 f-문자열은 내 이름은 {이름}입니다. name 변수의 값을 문자열에 삽입하는 데 사용됩니다.
파이썬3
문자열 C
name>=> 'Ele'> print>(f>'My name is {name}.'>)> |
>
>산출
My name is Ele.>
이 새로운 형식 지정 구문은 매우 강력하고 쉽습니다. 또한 임의의 Python 표현식을 삽입할 수 있으며 그 안에서 산술 연산도 수행할 수 있습니다.
F-문자열을 사용한 산술 연산
이 코드에서 f-문자열은 f 그는 자신의 나이가 {2 * (a + b)}라고 말했습니다. 2 * (a + b) 표현식의 결과를 문자열에 삽입하는 데 사용됩니다.
파이썬3
a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)> |
>
>산출
He said his age is 30.>
우리는 또한 사용할 수 있습니다 람다 표현 f-문자열 서식 지정.
F-문자열을 사용한 람다 표현식
이 코드에서 익명의 람다 함수는 람다 x: x*2를 사용하여 정의됩니다. 이 람다 함수는 x 인수를 사용하여 해당 double을 반환합니다.
파이썬3
print>(f>'He said his age is {(lambda x: x*2)(3)}'>)> |
>
>산출
He said his age is 6>
f-String 방법의 부동 정밀도
이 코드에서는 f-문자열 형식을 사용하여 num 변수의 값을 문자열에 삽입합니다.
Syntax : {value:{width}.{precision}}> 파이썬3
num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)> |
>
>산출
The valueof pi is: 3.1416>
메모: f-문자열에 대한 자세한 내용은 다음을 참조하세요. Python의 f-문자열
문자열을 int로 변환하는 방법
4. Python 문자열 템플릿 클래스
문자열 모듈에서 템플릿 클래스를 사용하면 출력 사양을 위한 단순화된 구문을 만들 수 있습니다. 형식은 유효한 Python과 함께 $로 구성된 자리 표시자 이름을 사용합니다. 식별자 (영숫자 및 밑줄). 자리 표시자를 중괄호로 둘러싸면 중간에 공백 없이 더 많은 영숫자가 올 수 있습니다. $$를 쓰면 단일 이스케이프 $가 생성됩니다.
템플릿 클래스를 사용하여 문자열 Python 형식 지정
이 코드는 문자열 모듈에서 템플릿 클래스를 가져옵니다. Template 클래스를 사용하면 실제 값으로 대체할 수 있는 자리 표시자가 있는 템플릿 문자열을 만들 수 있습니다. 여기서는 문자열 n의 n3 및 n4 대신 값 n1 및 n2를 대체합니다.
파이썬3
from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the> # template string.> print>(n.substitute(n3>=>n1, n4>=>n2))> |
>
>산출
Hello ! This is techcodeview.com.>
메모: 문자열 템플릿 클래스에 대한 자세한 내용은 다음을 참조하세요. Python의 문자열 템플릿 클래스
5. center() 메소드를 사용하여 문자열 형식을 지정하는 방법
center() 메서드는 지정된 너비의 문자열 내 중앙에 위치한 새 문자열을 반환하는 Python의 str 클래스에 내장된 메서드입니다.
center() 메소드를 사용하여 문자열 형식 지정
이 코드는 새로운 끈 왼쪽과 오른쪽에 공백이 채워져 있습니다.
파이썬3
string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)> |
>
>산출
GeeksForGeeks!>
Python 형식 문자열: % 대 .format 대 f-문자열 리터럴
f-문자열 둘 다보다 빠르고 좋습니다 %-포맷 그리고 str.format() . f-문자열 표현식은 런타임 시 평가되며 매우 간단하고 쉬운 구문을 사용하여 f-문자열 내에 표현식을 포함할 수도 있습니다.
중괄호 안의 표현식은 런타임에 평가된 다음 f-문자열의 문자열 부분과 함께 배치된 다음 최종 문자열이 반환됩니다.
메모: 문자열이 사용자 제공 문자열인 경우 템플릿 문자열을 사용합니다. 그렇지 않으면 Python 3.6 이상을 사용하는 경우 f-Strings를 사용합니다. 그렇지 않은 경우 format() 메서드를 사용하세요.
우리는 Python에서 문자열 형식을 지정하는 5가지 방법을 모두 다루었습니다. 각 방법에는 많은 사용 사례와 예가 있습니다. 또한 실제 프로젝트에서 어떤 방법을 사용하는 것이 가장 효율적인지 알아보기 위해 이러한 방법을 비교했습니다.
비슷한 읽기:
- Python의 문자열 형식화
- Python에서 문자열 포맷터를 사용하는 방법
- Python에서 사전을 사용하여 문자열 형식을 지정하는 방법