[파이썬]%d(정수),%s(문자열),%f(실수)

변수(variable)를 문자열(string)과 함께 출력할 때는
연결(concatenating) 방식을 사용한다.
이 때 %를 사용한다.
% 뒤에 어떤 알파벳을 붙이느냐에 따라 그 형태가 달라진다.

%f        실수(float)
%d     정수(integer)
%s    문자열(string)

<예시1>

<예시1_스크립트>
name = "Amy"
print ("Hello %s" % (name))

<예시1_결과>
Hello Amy

위의 예시에서 %는
% 뒤에 있는 (name)으로 %s를 대체한다.
즉 쉽게 말해 %s가 name과 바뀌며,
이 때 연결고리 역할을 %가 수행한다.
그래서 이미 우리가 입력한 name은 Amy이므로
%s와 Amy가 바뀌어 결과가 출력되는 것이다.

 

예시2

<예시2_스크립트>
day = 7
print "03 - %s - 2018" % (day)
print "03 - %02d - 2018" % (day)

<예시2_결과>
03 - 7 - 2018
03 - 07 - 2018

예시2에서도 마찬가지로, 첫번째 %s는 문장 끝에 있는 (day)와 대체된다.
여기서 day = 7 이라고 설정해놨기 때문에,
%s 위치에 7이 들어가 결과로 나온다.

두번째 줄의 %02d는 정수인 %d에 옵션 두개가 추가되었다.
0은 숫자 앞에 0을 붙인다는 뜻이고,
2는 총 숫자의 갯수를 2개로 표시하겠다는 뜻이다.
%03d 면 007로 표기될 것임

예시3

<예시3_스크립트>
string_1 = "drink"
string_2 = "bar"
print "Let's go %s. Tell me when you find a %s" % (string_1, string_2)

<예시3_출력결과>
Let's go drink. Tell me when you find a bar

조금 더 복잡한 예시로 단어 두개를 결합해보자.
string_1과 string_2가 문장 하나하나와 결합되어 나온다.
Let's go %s는 첫번째 string_1인 drink와 결합되어
Let's go drink가 된다.
Tell me you find a %s는 두번째 string_2인 bar와 결합되어
Tell me when you find a bar가 된다.
결과는 "가서 술 마시자. 바(bar) 찾으면 말해줘."로 출력된다.

예시4

<예시4_스크립트>
name = raw_input("What is your name? ")
hobby = raw_input("What is your hobby? ")
color = raw_input("What is your favorite color? ")

print "your name is %s, your hobby is %s, " \
"and your favorite color is %s." % (name, hobby, color)

<예시4_결과>
What is your name? rachy
What is your hobby? work out
What is your favorite color? white

your name is rachy, your hobby is work out, and your favorite color is white.

조금 더 복잡하게 가보자.
위의 raw_input은
raw_input("질문")의 형태로 입력한다.
이 때, 입력되는 모든 값을 초기화시킨다.
영어 단어 raw(뜻 : 가공되지 않은)라서 늘 새로운 걸 받는다.
이름, 취미, 좋아하는 색 세가지를 물어보자면 저렇게 raw_input 뒤에 질문을 넣을 수 있다.

그리고 결과로써 print 뒤에 "너의 이름, 취미, 좋아하는 색은"
세 질문의 답변에 %로 연결시킨다.

중간에 있는 \ 는 줄이 바뀔 때 사용하여
연결되는 한 문장임을 알려준다.

rachy, work out, white은 각각 내가 입력한 답문이고,
마지막 문장 출력시 한 문장이 되어 나온다.

사람의 생각을 대신해 주는 서비스는 언제 나올까?

    이미지 맵

    Engineering/코딩 다른 글

    이전 글

    다음 글