Python Sprintf: Python의 형식화된 문자열

Zeeshan Afridi 2023년6월21일
  1. 파이썬에서 포맷된 문자열
  2. Python에서 서식이 지정된 문자열의 다양한 방법
Python Sprintf: Python의 형식화된 문자열

형식화된 문자열을 인쇄하는 정확한 sprintf 내장 함수는 없지만 Python 덕분에 형식화된 문자열을 인쇄하는 수많은 메서드가 존재합니다.

이 기사에서는 % 연산자, format(), f-string 및 사용자 정의 sprintf 함수를 포함하여 Python의 네 가지 sprintf 유사 기능을 다룰 것입니다. 그것.

파이썬에서 포맷된 문자열

문자열 서식 지정은 미리 정의된 텍스트에 사용자 지정 값, 문자열 또는 변수를 삽입할 수 있는 문자열 보간으로도 처리됩니다.

일부 값이나 결과를 포함하여 문자열을 인쇄하는 데 선호되고 읽을 수 있는 방법 중 하나이며 Python에서 sprintf와 같은 기능을 제공합니다.

형식이 지정된 문자열에서 수학 표현식을 사용할 수도 있습니다. 예를 들어 두 개의 값이 있고 최종 결과를 인쇄하기 위해 추가하고 싶다고 가정해 보겠습니다.

코드 예:

x = 3
y = 4
print(f"The sum of {x} and {y} = {x+y}")  # formatted string
print("The sum of", x, "and", y, "=", (x + y))  # normal string

출력:

The sum of 3 and 4 = 7
The sum of 3 and 4 = 7

보시다시피 위의 결과는 동일하지만 일반 문자열은 매우 지저분합니다. 그러나 형식이 지정된 문자열이 더 읽기 쉽고 개발자가 형식이 지정된 문자열을 사용하여 코드를 작성하기 쉽습니다.

Python에서 서식이 지정된 문자열의 다양한 방법

Pythons는 다양한 오픈 소스 커뮤니티와 지속적인 지원을 제공하는 범용 프로그래밍 언어로, 작업의 특성과 특정 시나리오에 따라 다양한 방법으로 모든 작업을 달성할 수 있도록 개발자에게 솔루션과 기능을 제공합니다.

형식화된 문자열을 사용하는 것과 유사하게, 이 기사에서 하나씩 논의할 형식화 문자열을 인쇄하는 데 사용할 수 있는 다양한 방법이 있습니다.

% 연산자를 사용하여 형식화된 문자열

Python 및 기타 프로그래밍 언어에서 형식이 지정된 문자열에 대한 오래된 기술 중 하나입니다. Python에서 문자열에는 % 연산자를 사용하여 액세스할 수 있는 내장 작업이 있어 C 및 C++의 springf와 유사하게 문자열 서식을 쉽게 지정할 수 있습니다.

코드 예:

name = "Zeeshan Afridi"
msg = "Hey! developers, it's %s." % name
print(msg)

출력:

Hey! developers, it's Zeeshan Afridi.

위의 코드에서 %s는 끝에 문자열이 있어야 한다고 컴파일러에 경고하고 설명된 대로 % 연산자를 사용하여 %name으로 문자열을 지정했습니다.

문자열 형식화에는 다양한 데이터 유형에 대한 다양한 형식 지정자가 있습니다.

형식 지정자 데이터 형식 산출
%c 유니코드 문자를 보여줍니다.
%d 정수 정수
%f 부동 소수점 십진수
%o 정수(8진수) 8진수
%s 그것은 문자열을 제공합니다
%t 날짜와 시간 데이터 및 시간

Python에서 format() 함수를 사용하여 형식화된 문자열

format()은 Python에서 문자열 형식을 지정하는 새로운 방법이며 Python 3에 도입되었습니다.

형식 지정자와 문자열의 순서를 기억할 필요가 없는 문자열 형식화를 위한 새로운 스타일입니다. 대신 문자열 끝에 format()을 사용하고 지정된 위치에 인수를 제공할 수 있습니다.

코드 예:

program = "BSSE"
cgpa = 3.2
student = "Hi! I am a student of {}, and my CGPA is {}".format(program, cgpa)
print(student)

출력:

Hi! I am a student of BSSE, and my CGPA is 3.2

위 프로그램에서 중괄호 {}로 값을 삽입하려는 위치를 지정하고 문자열 student 끝에 .format() 함수를 사용하여 지정했습니다. 그에 따라 두 가지 주장.

Python에서 형식화된 문자열 리터럴 f-string

Formatted string literalf-string이라고도 하며 구문이 더 읽기 쉽고 직관적인 새로운 문자열 형식 지정 방법으로 Python 3.6에 포함됩니다.

f-string은 다른 메소드가 놓치고 있는 우수하고 고유한 기능을 가지고 있으며 문자열 내부에 표현식과 값을 정의할 수 있습니다.

문자열 끝에 .format()을 사용할 필요가 없습니다. 아래 Python에서 f-String의 예를 살펴보겠습니다.

코드 예:

my_fav_lang = "Python"
experience = 2

zeeshan = f"I love to code in {my_fav_lang}, and I have {experience} year experience in Python programming."
print(zeeshan)

출력:

I love to code in Python, and I have 2 years of experience in Python programming.

우와! f-string은 매우 쉽고 읽기 쉽습니다. 다른 두 가지 방법과 달리 다른 방법이나 쉼표를 사용할 필요 없이 f만 문자열의 접두사로 사용하면 됩니다.

Python에서 sprintf를 사용하는 방법

sprintf는 문자열 인쇄를 의미합니다. 기본적으로 형식이 지정된 문자열을 출력하는 C 및 C++ 프로그래밍 언어의 내장 함수이며 출력을 sprintf()에 지정된 char 버퍼에 저장합니다. 그리고 Python에는 다르지만 비슷한 방법이 있습니다.

sprintf는 Python에서 사용자 정의 함수가 아니지만 StringIO 인스턴스를 버퍼로 사용할 수 있습니다. 그리고 sprintf와 달리 buf.write와 서식 지정 방법에 문자열을 전달해야 합니다. 이 경우 %는 문자열 형식화에 사용됩니다.

코드 예:

import io
from io import StringIO


def sprintf(buf, fmt, *args):
    buf.write(fmt % args)


age = 24
fav_color = "Blue"

buf = io.StringIO()
sprintf(buf, "I'm %d years old, and my favourite colour is %s!", age, fav_color)

print(buf.getvalue())

출력:

I'm 24 years old, and my favourite colour is Blue!

이 프로그램에 대해 ImportError가 발생하면 명령줄 인터페이스(CLI)에서 필요한 종속성을 설치하십시오.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Python String