답변:
문자열 형식화에 사용됩니다. %s
문자열 %d
의 자리 표시 자 역할을하는 반면 숫자의 자리 표시 자 역할을합니다. 관련된 값은 %
연산자를 사용하여 튜플을 통해 전달됩니다 .
name = 'marcog'
number = 42
print '%s %d' % (name, number)
인쇄 marcog 42
합니다. name은 문자열 (% s)이고 number는 정수 (10 진수의 경우 % d)입니다.
자세한 내용은 https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting 을 참조하십시오.
Python 3에서 예제는 다음과 같습니다.
print('%s %d' % (name, number))
에서 파이썬 3 문서
%d
십진 정수입니다
%s
일반 문자열 또는 객체 용이며 객체의 경우 문자열로 변환됩니다.
다음 코드를 고려하십시오
name ='giacomo'
number = 4.3
print('%s %s %d %f %g' % (name, number, number, number, number))
밖으로 넣어
giacomo 4.3 4 4.300000 4.3
보시 %d
다시피 정수 로 자르고 %s
서식을 유지 %f
하며 float로 인쇄하며 %g
일반 숫자로 사용됩니다
명백하게
print('%d' % (name))
예외를 생성합니다. 문자열을 숫자로 변환 할 수 없습니다
%s
대신 숫자로 사용되는 경우 어떻게되는지 설명합니다 .
%s
형식화 된 문자열에 삽입하려는 문자열 값의 자리 표시 자로 사용됩니다.
%d
숫자 또는 10 진수 값의 자리 표시 자로 사용됩니다.
예를 들어 (파이썬 3의 경우)
print ('%s is %d years old' % ('Joe', 42))
출력 할 것이다
Joe is 42 years old
자리 표시 자입니다.
예를 들면 다음과 같습니다. 'Hi %s I have %d donuts' %('Alice', 42)
이 코드 줄은 % s를 Alice (str)로 대체하고 % d는 42를 대체합니다.
산출: 'Hi Alice I have 42 donuts'
이것은 대부분 "+"로 달성 할 수 있습니다. 귀하의 질문에 대해 더 깊이 이해하려면 {} / .format ()도 확인하십시오. 다음은 한 가지 예입니다. Python 문자열 형식 : % vs. .format
또한 여기에서 Google python tutorial 비디오 @ 40 '을 참조하십시오.
이 모든 정보에 대한 답변이 있습니다, 그러나 아무도는 상당히 차이가 사이에 무엇의 핵심 받고되지 않습니다 %s
및 %d
.
%s
포맷터에게 str()
인수에 대한 함수 를 호출하도록 지시하고 정의에 따라 문자열을 강제 실행하기 때문에 %s
본질적으로 수행 str(arg)
됩니다.
%d
반면 int()
에 다음 str()
과 같이 호출하기 전에 인수를 호출 합니다. str(int(arg))
이 경우 int
강제뿐만 아니라 강제도 발생 str
합니다.
예를 들어 16 진수 값을 10 진수로 변환 할 수 있습니다.
>>> '%d' % 0x15
'21'
또는 float를 자릅니다.
>>> '%d' % 34.5
'34'
그러나 인수가 숫자가 아닌 경우 연산에서 예외가 발생합니다.
>>> '%d' % 'thirteen'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
그래서 의도 그냥 호출하는 경우 str(arg)
, 다음 %s
충분하지만, 당신은 여분의 (부동 소수점 포맷 등)의 서식 또는 다른 강압 필요가 있다면, 다른 포맷 기호가 필요하다.
f-string
표기법을 사용하면 포맷터를 그대로두면 기본값은 str
입니다.
>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Unknown format code 'd' for object of type 'str'
string.format
; 도 마찬가지입니다 . 기본값은 str
입니다.
>>> a = 1
>>> '{}'.format(a)
'1'
>>> '{!s}'.format(a)
'1'
>>> '{:d}'.format(a)
'1'
%d
그리고 %s
그들이 대체 변수로 작동, 자리 표시 자입니다. 예를 들어, 2 개의 변수를 만드는 경우
variable_one = "Stackoverflow"
variable_two = 45
변수의 튜플을 사용하여 해당 변수를 문자열의 문장에 할당 할 수 있습니다.
variable_3 = "I was searching for an answer in %s and found more than %d answers to my question"
참고 %s
문자열 및 작동 %d
숫자 또는 10 진수 변수에 대한 작업.
인쇄 variable_3
하면 다음과 같습니다
print(variable_3 % (variable_one, variable_two))
나는 StackOverflow에서 답을 찾고 있었고 내 질문에 45 개 이상의 답을 찾았습니다.
형식 지정자입니다. 파이썬 표현식의 값을 문자열에 포함시키고 특정 형식을 적용하려는 경우에 사용됩니다.
비교적 자세한 소개는 Python으로 다이빙을 참조하십시오 .
최신 표준에 따라이 방법을 수행해야합니다.
print("My name is {!s} and my number is{:d}".format("Agnel Vishal",100))
python3.6 문서 및 샘플 프로그램을 확인하십시오.
% s 또는 % d을 (를) 피하려면 ..
name = 'marcog'
number = 42
print ('my name is',name,'and my age is:', number)
산출:
my name is marcog and my name is 42
%s
및 %d
.
print
파이썬 3의 함수이며 문장이 아닙니다.
% s는 문자열을위한 공간을 유지하는 데 사용됩니다. % d는 숫자를위한 공간을 유지하는 데 사용됩니다
name = "Moses";
age = 23
print("My name is %s am CEO at MoTech Computers " %name)
print("Current am %d years old" %age)
print("So Am %s and am %d years old" %(name,age))
이 비디오는 그 팁에 대해 심층적으로 다룹니다 https://www.youtube.com/watch?v=4zN5YsuiqMA
... 말하자면
python3.6는 함께 제공 f-strings
되는 서식에 훨씬 쉽게 일을하게!
이제 파이썬 버전이 3.6보다 큰 경우 사용 가능한 다음 방법으로 문자열을 형식화 할 수 있습니다.
name = "python"
print ("i code with %s" %name) # with help of older method
print ("i code with {0}".format(name)) # with help of format
print (f"i code with {name}") # with help of f-strings
%s
검색 엔진 구성에 어떻게 사용 되는지 확인 합니다. Chrome은%s
검색 주소창에 입력 한 키워드를 대체합니다. 파이썬도%s
비슷한 방식으로 사용합니다. 에서는 연산자에 저장된 텍스트 스트링으로 대체된다 변수. 둥근 괄호는 파이썬 3에서 오류 메시지를 방지합니다.print('description: %s' % descrip)
%s
descrip