산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

Python String format() 예제로 설명

파이썬 문자열 형식()이란 무엇입니까?

파이썬 문자열 형식() 최종 문자열에서 유효한 값이 있는 자리 표시자로 문자열을 교체, 대체 또는 변환하는 데 사용되는 함수입니다. 형식화된 문자열을 출력으로 반환하는 Python 문자열 클래스의 내장 함수입니다. 문자열 내부의 자리 표시자는 중괄호로 정의됩니다.

예:"Guru99 {}에 오신 것을 환영합니다.".format('value here').

이 자습서에서는 다음을 배우게 됩니다.

파이썬에서 format() 함수의 구문

templatestring.format(val1, val2...)

매개변수

val1, val2 … : 중괄호 {} 형식의 자리 표시자가 있는 지정된 템플릿 문자열에서 대체해야 하는 값입니다. 자리 표시자는 문자열, 키/값 쌍, 정수, 부동 소수점 숫자, 문자 등이 될 수 있습니다.

반환 값:

중괄호로 묶인 자리 표시자 대신 유효한 값이 대체된 최종 문자열을 반환합니다.

자리 표시자

템플릿 문자열의 자리 표시자는 중괄호를 사용하여 표시됩니다. {}. 자리 표시자는 비어 있는 {}이거나 {name} 등의 변수를 포함하거나 숫자 색인(예:{0}, {1} 등)을 포함할 수 있습니다.

문자열 format()은 어떻게 작동합니까?

Python String format() 메서드는 자리 표시자를 위해 원본 문자열을 스캔합니다. 자리 표시자는 빈 중괄호({}), 위치 인수가 될 수 있습니다. 즉, 문자열에는 {0}, {1} 등의 색인 0, 1이 있는 자리 표시자가 있을 수 있습니다.

키워드 인수의 경우 변수 이름은 중괄호 안에 표시됩니다(예:{name}, {age}). 중괄호가 비어 있는 경우 형식의 값이 중괄호 내부에서 순서대로 대체됩니다.

첫 번째 값은 첫 번째 빈 중괄호로 대체되고 다음 값이 뒤따릅니다. 위치 인수의 경우 인덱스는 0부터 시작하는 식입니다. 값은 쉼표로 구분된 형식으로 제공되며 0 번째 value는 format 내부의 첫 번째 값을 가리킵니다.

키워드 인수의 경우, 즉 자리 표시자 내부에 변수를 사용할 때 필요에 따라 형식 내에서 값의 순서를 가질 수 있습니다.

값이 format()에 있는 변수 이름을 기반으로 대체되므로 순서는 중요하지 않습니다. 다음은 문자열 내부의 자리 표시자를 공백, 위치 지정 및 키워드 또는 변수 사용으로 사용하는 방법에 대한 몇 가지 예입니다.

예:빈 자리 표시자가 문자열 값으로 대체됨

아래 예에서 문자열에는 빈 중괄호({})가 있습니다. 형식에 지정된 값은 중괄호({}) 내에서 대체됩니다.

교체하려는 값은 문자열입니다.

예:

Python에서 문자열 형식 지정을 사용하여 중괄호({})를 문자열 값으로 대체하기를 원합니다. 값은 format("Guru99")에 지정됩니다. 실행 시 중괄호 {}가 Guru99로 바뀌고 Welcome to Guru99 tutorials라는 최종 문자열을 얻게 됩니다.

print ("Welcome to {} tutorials".format("Guru99"))

출력:

Welcome to Guru99 tutorials

예:빈 자리 표시자가 숫자 값으로 대체됨

아래 예에서는 숫자 값이 원래 문자열 내에서 대체되기를 원합니다. 숫자 값이 필요한 곳에 중괄호({})를 추가합니다. 실행 시 빈 중괄호({})가 숫자 값으로 바뀝니다.

예:

format()을 사용하여 문자열 안에 숫자를 삽입할 수도 있습니다. 이 예시는 빈 자리 표시자 {}를 format() 내부에 있는 숫자 99로 바꾸는 방법을 보여줍니다.

print ("Welcome to Guru{} Tutorials".format("99"))

출력:

Welcome to Guru99 Tutorials

예:자리 표시자 내에서 변수 또는 키워드 인수 사용

아래 예와 같이 중괄호 안에 변수를 사용할 수도 있습니다. 변수는 format() 내부에 정의됩니다. 따라서 실행 시 변수에 할당된 값은 원래 문자열 내에서 대체됩니다.

예:

{name} {num}과 같이 중괄호 안에 변수를 사용할 수 있습니다. name 및 num 변수의 값은 format(name=”Guru”, num=”99″)과 같은 형식 내에서 사용할 수 있습니다. name 및 num에 지정된 값은 {name} 및 {num} 내부에서 대체됩니다.

print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))

출력:

Welcome to Guru99 Tutorials

예:자리 표시자 내에서 인덱스 또는 위치 인수 사용

값은 자리 표시자 내부에 0, 1, 2와 같은 인덱스를 사용하여 바꿀 수 있습니다. 값은 아래 예와 같이 format()에서 순서대로 선택됩니다.

예:

print ("Welcome to {0}{1} Tutorials".format("Guru","99"))

출력:

Welcome to Guru99 Tutorials

예:문자열 내에서 여러 자리 표시자 사용

이 예에서는 여러 개의 빈 자리 표시자를 사용합니다.

예:

예제에 사용된 문자열에는 여러 개의 빈 자리 표시자가 있으며 각 자리 표시자는 format() 내부의 값을 참조합니다. 첫 번째 값은 첫 번째 자리 표시자로 대체됩니다.

print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))

출력:

Guru99 is totally new kind of learning experience!

자리 표시자 내부 서식 지정

변수 또는 인덱스와 함께 자리 표시자를 비어 있는 것으로 볼 수 있습니다. Placeholder 내부에 Python String Formatting을 적용하는 것도 가능합니다.

다음은 형식 목록입니다.

형식 설명
:d 자리 표시자 내에서 사용될 때 출력을 10진수 형식으로 제공합니다. print("The binary to decimal value is : {:d}".format(0b0011))

출력:

The binary to decimal value is  : 3
:b 자리 표시자 내에서 사용될 때 바이너리 형식으로 출력을 제공합니다. print("The binary value is : {:b}".format(500))

출력:

The binary value is : 111110100
:e 자리 표시자 내에서 사용될 때 과학적 형식으로 출력을 제공하며 출력의 지수 e는 소문자가 됩니다. print("The scientific value is : {:e}".format(40))

출력:

The scientific format value is : 4.000000e+01
:E 자리 표시자 내에서 사용될 때 과학적 형식으로 출력을 제공합니다. 출력의 지수 E는 대문자가 됩니다. print("The scientific value is : {:E}".format(40))

출력:

The scientific value is : 4.000000E+01
:f 고정 소수점 숫자 형식을 출력합니다. 기본적으로 소수점 6자리가 있는 모든 숫자의 출력을 얻습니다. 소수점 이하 2자리까지 필요한 경우 다음과 같이 사용하십시오. 2f 즉, 2f 앞의 마침표(.) print("The value is : {:f}".format(40))

출력:

The value is  : 40.000000

예:소수점 이하 2자리까지 출력을 표시합니다.

print("The value is : {:.2f}".format(40))

출력:

The value is: 40.00
:o 8진수 형식을 출력합니다. print("The value is : {:o}".format(500))

출력:

The value is  : 764
:x 16진수 형식을 소문자로 출력합니다. print("The value is : {:x}".format(500))

출력:

The value is  : 1f4
:X 16진수 형식을 대문자로 출력합니다. print("The value is : {:X}".format(500))

출력:

The value is  : 1F4
:n 숫자 형식을 출력합니다. print("The value is : {:n}".format(500.00))

출력:

The value is  : 500
:% 이렇게 하면 출력이 백분율 형식으로 표시됩니다.
기본적으로 백분율 출력에 소수점 이하 6자리가 표시됩니다. 소수점 이하 자릿수를 원하지 않는 경우 마침표를 0(:. 0%).
print("The value is : {:%}".format(0.80))

출력:

The value is  : 80.000000%

이 예는 자리 표시자 안에 {:.0%}를 사용하여 소수점 이하 자릿수를 건너뛰는 방법을 보여줍니다.

print("The value is : {:.0%}".format(0.80))
출력:

The value is: 80%
:_ 밑줄을 천 단위 구분 기호로 출력합니다. python 3.6 이상부터 사용할 수 있습니다. print("The value is {:_}".format(1000000))

출력:

The value is  : 1_000_000
:, 쉼표를 천 단위 구분 기호로 출력합니다. print("The value is : {:,}".format(1000000))

출력:

The value is  : 1,000,000

출력에 표시된 대로 천 단위 구분 기호로 쉼표(,)가 추가됩니다.

: 양수 앞에 공백이 추가됩니다. 이 예는 주어진 숫자 앞에 공백이나 패딩을 추가하는 방법을 보여줍니다. 숫자 5는 숫자 앞에 원하는 공백 수를 나타냅니다.

print("The value is: {:5}".format(40))

출력:

The value is:    40
:- 음수 앞에 빼기 기호가 추가됩니다. 예제는 {:-}를 사용하여 숫자 앞에 빼기(-) 기호가 있는 출력을 얻는 방법을 보여줍니다.

print("The value is: {:-}".format(-40))

출력:

The value is: -40
:+ 더하기 기호를 사용하여 숫자가 양수임을 나타낼 수 있습니다. 예제는 {:+}를 사용하여 숫자 앞에 더하기(+) 기호가 있는 출력을 얻는 방법을 보여줍니다.

print("The value is: {:+}".format(40))

출력:

The value is: +40
:= 등호는 +/- 기호를 왼쪽에 배치하는 데 사용됩니다. 이 예는 {:=}를 사용하여 등호 앞에 더하기(+/-) 기호가 있는 출력을 얻는 방법을 보여줍니다.

print("The value is {:=}".format(-40))

출력:

The value is -40
:^ 최종 결과를 가운데 정렬합니다. 예제는 {:^}를 사용하여 텍스트를 가운데 정렬하는 방법을 보여줍니다. 숫자 10은 10개의 공백을 추가하여 값을 바꿀 때 가운데 정렬된 것을 표시하는 데 사용됩니다.

print("The value {:^10} is positive value".format(40))

출력:

The value     40     is a positive value

여기에서 최종 텍스트에 10개의 공백을 추가하는 10을 사용할 수 있으며, 바꿀 값은 10개의 공백 사이에 가운데 정렬됩니다. 교체된 값의 중앙 정렬을 표시하기 위해 10의 공백이 추가됩니다.

:> 최종 결과를 오른쪽 정렬합니다. (:>10)을 사용하여 10의 공백을 추가하고 대체된 값은 오른쪽 정렬됩니다.

print("The value {:>10} is positive value".format(40))

출력:

The value         40 is positive value
:< 최종 결과를 왼쪽 정렬합니다. (:<10)을 사용하여 10의 공백을 추가하고 값을 대체하는 값이 왼쪽 정렬됩니다.

print("The value {:<10} is positive value".format(40))

출력:

The value 40         is positive value

format()과 함께 클래스 사용

이 예제에서는 클래스를 만들고 .format Python 메서드 내에서 클래스의 개체를 사용합니다. 자리 표시자는 클래스 개체를 사용하여 클래스 속성 또는 멤버를 참조합니다.

예:

클래스는 format(c=MyClass()) 내부에서 호출됩니다. 객체 c는 클래스 MyClass() 내부의 속성 및 메서드에 대한 참조를 갖습니다.

class MyClass:
    msg1="Guru"
    msg2="Tutorials"   

print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))

출력:

Welcome to Guru99 Tutorials!

format()과 함께 사전 사용

아래 예와 같이 format() 내부에서 사전을 사용할 수도 있습니다.

my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))

출력:

Welcome to Guru99 Tutorials!

변수 대체 채우기

string.format() 메서드를 사용하면 문자열 내부에 자리 표시자를 사용하여 패딩, 공백을 추가할 수 있습니다.

예:

아래 예에서는 format()을 사용하여 자리 표시자 내부에 공간을 추가합니다. 공백을 추가하려면 콜론(:) 다음에 중괄호 안에 공백 수를 지정해야 합니다. 따라서 자리 표시자는 {:5}와 같이 표시됩니다.

print("I have {:5} dogs and {:5} cat".format(2,1))

출력:

I have     2 dogs and     1 cat

예를 들어 자리 표시자 내부에 색인을 지정할 수도 있습니다. {0:5} 여기서 0은 형식 내부의 첫 번째 값을 나타냅니다.

print("I have {0:5} dogs and {1:5} cat".format(2,1))

출력:

I have     2 dogs and     1 cat

요약


python

  1. 하위 문자열 및 예제가 있는 Java 문자열 indexOf() 메서드
  2. EXAMPLE이 있는 Python String strip() 함수
  3. 예제가 있는 Python 문자열 count()
  4. 예제가 있는 Python 문자열 find() 메서드
  5. 예제가 있는 Python Lambda 함수
  6. 예제가 있는 Python round() 함수
  7. 예제가 있는 Python map() 함수
  8. 예제가 있는 Python Timeit()
  9. 예제가 있는 컬렉션의 Python 카운터
  10. 예제가 있는 Python의 type() 및 isinstance()