Python의 다양한 문자열 형식 지정 방법: 상위 3가지 방법

게시 됨: 2021-02-23

문자열 형식화는 문자열에 사용자 지정 값과 위치를 지정하거나 삽입하는 프로그래밍 언어의 필수 기능입니다. C 언어에는 C 언어에 대한 경험이 있는 경우 익숙할 수 있는 한 가지 방법이 있습니다. 그러나 Python은 1도 2도 아닌 3가지 다른 방법으로 문자열 서식을 지원합니다. 각 방법에는 이 튜토리얼에서 보게 될 장점과 단점이 있습니다. 또한 3가지 방법 중 가장 사용하고 효율적인 방법을 알아보겠습니다.

세계 최고의 대학에서 온라인 데이터 과학 과정배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

이 튜토리얼을 마치면 다음을 알게 될 것입니다.

  • 다양한 문자열 형식 지정 방법
  • 예제와 함께 사용
  • 어떤 방법이 가장 선호되는지

목차

다양한 문자열 형식 지정 방법

Python은 문자열 형식을 개선하기 위해 여러 업데이트를 받았습니다. 하나하나 살펴보도록 하겠습니다.

방법 1: C 스타일 문자열 서식 지정

Python에는 각 데이터 유형에 특수 문자를 사용하여 문자열 형식을 지정하는 기존 방식이 포함되어 있습니다. 이 좋은 오래된 문자열 형식 지정 방법은 C 언어에서 채택되었으며 여전히 매우 효과적입니다. 문자열 형식 지정자 "%" 다음에 각 데이터 유형에 대한 전용 문자가 오는 문자열 형식 지정에 사용됩니다.

이것을 이해하기 위해 작은 예를 살펴보겠습니다.

숫자 = 8
이름 = "핑크맨"
print("이름은 %s이고 번호는 %d입니다." %( name, num))

#산출
>> “이름은 핑크맨, 번호는 8”

보시다시피 형식 지정자 %s는 문자열 이름의 형식을 지정하는 데 사용되었고 %d는 정수 num의 형식을 지정하는 데 사용되었습니다. 마찬가지로 float에 대한 형식 지정자도 있습니다. 그것도 확인해 봅시다.

숫자 = 4.32
리스 = [ 1 , 3 , 5 ]
print( "목록은 %s이고 부동 소수점은 %f입니다." %(lis, num))

#산출
>> 목록 [ 1 , 3 , 5 ] 이고 float 4.320000 입니다.

위의 예에서 %f 형식 지정자를 사용하여 float 값의 형식을 지정합니다. 여기서 주목해야 할 두 가지. 첫째, float 값은 4.32가 아니라 4.320000으로 인쇄됩니다. 왜 그래? 이는 Python이 기본적으로 부동 소수점에 대해 6 소수점 정확도를 사용하기 때문입니다. 둘째, 문자열 형식 지정자를 사용하여 목록을 인쇄했습니다. %s 형식 지정자가 모든 데이터 형식을 사용할 수 있다는 의미는 아닙니다. 그냥 문자열로 변환하여 출력합니다. 따라서 인쇄되는 목록은 본질적으로 목록이 아니라 문자열입니다.

자, 그러면 필요한 소수점 정확도를 지정하는 방법은 무엇입니까?

print("목록은 %s이고 2포인트 정확도의 부동 소수점은 %.2f입니다." %(lis, num))

#산출
>> 목록 [ 1 , 3 , 5 ] 이고 float 4.32 입니다.

여기서 주목해야 할 또 다른 점은 문자열에서 사용되는 순서대로 변수를 제공해야 한다는 것입니다. 순서가 변경되면 그에 따라 영향을 받도록 출력이 설정됩니다. 매번 올바른 순서로 변수를 제공하지 않아도 되는 대안은 약간 다른 방식으로 문자열 형식을 사용하는 것입니다.

print("목록은 %(a)s이고 float는 %(b)f입니다." %{"b": num, "a": lis})

#산출
>> 목록 [ 1 , 3 , 5 ] 이고 float 4.320000 입니다.

보시다시피 이것은 쓰기가 매우 번거롭습니다.

요약하자면 가장 자주 사용되는 3가지 형식 지정자는 다음과 같습니다.

  1. 문자열의 경우 %s
  2. 정수의 경우 %d
  3. 부동 소수점의 경우 %.<소수점 정확도>f

방법 2: 새 스타일 문자열 서식 지정

Python 3에서는 문자열에 format() 메서드를 사용하여 문자열 형식을 지정하는 더 나은 방법을 도입했습니다. 자리 표시자는 중괄호를 배치하여 사용되며 형식 메서드에는 문자열의 해당 위치에 넣어야 하는 변수가 포함됩니다. 이를 이해하기 위해 작은 예를 살펴보겠습니다.

이름 = "스카일러"
print("안녕하세요, 제 이름은 {}입니다.".format(name))

#산출
>> 안녕하세요, 제 이름 스카일러 입니다.

이것은 위에서 본 구식 형식보다 훨씬 낫습니다. 중괄호는 문자열을 포함하는 변수 이름에 대한 자리 표시자 역할을 합니다. 형식 방법을 사용하면 이전 형식 형식에서 했던 것처럼 변수의 데이터 형식을 지정할 필요가 없습니다.

숫자가 있는 예:

숫자 = 3
정수 = 4.34
이름 = "제시"

print( "안녕하세요, 제 이름은 {}이고 숫자는 {}이고 float는 {}입니다." .format(name, num, int))

#산출
>> 안녕하세요, 제 이름 jessy이고 숫자 3 이고 float 4.34 입니다.

정돈 된! 보시다시피 변수가 문자열에서 사용된 순서대로 format 메서드에 전달되어야 합니다. 모든 변수를 올바른 순서로 전달할 것을 요구하지 않음으로써 format 메소드를 사용하는 또 다른 방법:

print("안녕하세요, 제 이름은 {name}이고 숫자는 {num}이고 float는 {int}입니다.".format(int=int, num=num , name=name))

#산출
>> 안녕하세요, 제 이름 jessy이고 숫자 3 이고 float 4.34 입니다.

위의 예에서 변수가 자리 표시자에 명시적으로 언급되면 올바른 순서로 형식 메서드에 변수를 전달할 필요가 더 이상 필요하지 않음을 알 수 있습니다.

더 나은 추적을 유지하기 위해 자리 표시자에 변수의 위치를 ​​전달할 수도 있습니다.

print("안녕하세요, 제 이름은 {0}이고 숫자는 {1}이고 float는 {2}입니다.".format(name, num, int))

#산출
>> 안녕하세요, 제 이름 jessy이고 숫자 3 이고 float 4.34 입니다.

방법 3: F-문자열 사용

Python 3.6에 도입된 f-문자열은 문자열 형식 지정을 수행하는 가장 쉽고 효율적인 방법입니다. 형식화된 문자열 리터럴 이라고도 합니다. 그들은 문자열의 시작 부분에 리터럴 f를 사용하여 파이썬에게 그것을 형식화된 문자열로 취급하도록 지시합니다. 자리 표시자는 해당 위치에 넣어야 하는 실제 변수를 포함합니다.

예제를 살펴보겠습니다.

이름 = "하이젠베르크"
bill = 100.43print(f"이름은 {name}이고 법안은 {bill}입니다.")

#산출
>> 이름 heisenberg 이고 청구서 100.43 입니다.

이것은 아주 쉬웠습니다. 또한 변수 대신 표현식을 직접 넣을 수도 있습니다.

에이 = 5
b = 8

print( f"합은 {a+b} " )

#산출
>> 합계 13 입니다.

함수를 직접 호출하고 문자열 리터럴로 출력을 얻을 수도 있습니다.

print( f"이름은 {name.upper()} " )

#산출
>> 이름 HEISENBERG 입니다.

또한 f 문자열을 사용하여 함수에서 값을 직접 반환할 수도 있습니다.

def Combiner(이름, 나이, 돈):
return f”{name}은(는) {나이}이고 급여는 {money}”입니다.

Saul Goodman 45 이며 급여는 2000000 입니다.

보시다시피, 자리 표시자에 직접 함수를 전달할 때 함수를 호출하고 출력을 직접 중괄호 안에 넣습니다. 분명히 이 String Formatting 방법은 가장 효율적이고 쓰기 쉽습니다.

체크아웃: Python 인터뷰 질문 및 답변

가기 전에

문자열 형식 지정은 일반적인 작업이며 Python이 형식 메서드를 도입한 방식과 f 문자열을 사용하면 Python으로 작업하는 사람들이 매우 쉽게 사용할 수 있습니다. f-문자열은 작성 및 유지 관리가 매우 쉽기 때문에 문자열 형식화 작업에 가장 많이 사용되고 선호되는 방법입니다. 또한 코드를 더 Pythonic하게 만듭니다! 내부적으로 f 문자열은 __format__ 프로토콜을 사용합니다. f 리터럴은 파이썬이 사용자에게 문자열 서식을 더 쉽게 작성할 수 있도록 제공하는 구문 설탕입니다.

데이터 과학 에 대해 자세히 알고 싶으시면 작업 전문가를 위해 만들어졌으며 10개 이상의 사례 연구 및 프로젝트, 실용적인 실습 워크샵, 업계 전문가와의 멘토링, 1 - 업계 멘토와 일대일, 400시간 이상의 학습 및 최고의 기업과의 취업 지원.

Python 3의 어떤 형식 지정 방법이 다중 대체 및 값 형식 지정을 허용합니까?

1. 파이썬의 내장 문자열 format() 메서드는 제공된 문자열을 더 유용한 출력으로 변환합니다. Python3의 format() 함수는 값 형식 지정뿐만 아니라 다중 대체를 허용하는 문자열 형식 지정 방법 중 하나입니다. format() 메서드는 위치 서식을 사용하여 문자열 내의 항목을 연결합니다.
2. 문자열은 여러 쌍의 중괄호를 사용하여 형식을 지정할 수 있습니다. 긴 문자열에서 다른 변수 교체가 필요한 경우 두 번째 중괄호 세트를 추가하고 두 번째 값을 프로시저에 전달할 수 있습니다.
3. Python의 format() 함수는 매개변수의 수를 허용합니다. 그러나 주로 다음과 같은 두 종류의 매개변수로 구분됩니다.
ㅏ. 위치 매개변수는 매개변수의 색인을 중괄호(인덱스) 안에 넣어 검색할 수 있는 매개변수 목록입니다.
비. 키워드 매개변수 – 중괄호 안의 매개변수 키를 사용하여 액세스할 수 있는 key=value 매개변수 목록입니다.
4. format() 메서드는 형식이 지정된 문자열을 반환합니다. format() 함수는 제공된 인수 유형을 읽고 문자열의 형식 코드에 따라 형식을 지정합니다.

Python 3에서 줄 바꿈 없이 어떻게 인쇄합니까?

Python 3의 인쇄 메서드에 추가 인수를 추가하여 컴퓨터에 다음 문자열이 새 줄에 있는 것을 원하지 않는다고 알립니다. 다음 시나리오를 고려하십시오.
print('환영합니다!', 끝 = ')
이 경우 더 이상의 인쇄 기능이 같은 줄에 나타납니다.

Python에서 문자열을 float로 변환할 수 있습니까?

1. 터미널을 통해 사용자 입력을 통해 부동 소수점 값을 얻고 파일에서 읽는 경우 문자열 개체입니다. 결과적으로 덧셈, 곱셈 등과 같은 필요한 연산을 수행하기 위해 명시적으로 float로 변환해야 합니다.
2. Python의 float() 메서드는 문자열을 float로 변환하는 데 사용할 수 있습니다. 부동 소수점 숫자를 객체로 변환하는 내장 함수입니다. 내부적으로 float() 함수는 제공된 객체의 __float__() 함수를 호출합니다.