본문 바로가기
[ Python ]/- 파이썬 문법공부

파이썬 3장(문자열, format, 형식, print, 변수, sep, end, 제어문자)

by MRG 2020. 6. 15.
728x90
반응형
728x90

▣ 안녕하세요 ^^ 
저번장 숙제해보셨나요??
중요한 이야기를 많이 했기 때문에
꼭 꼼꼼하게 읽으면서 숙제 실습해주세요~~
코딩은 읽는 것도 중요합니다. 



▣ 오늘은 print 함수에서 형식에 맞게 출력을 해보는 걸 하겠습니다.
먼저 제어 문자를 공부해보겠습니다.

 

▣ 자 이렇게 한 줄 한줄 줄이 다르게 문자를 출력하려면
print를 각각 줄을 다르게 코딩했습니다.
그런데 이걸 한 줄로 할 수 있는 방법이 있습니다.
제어 문자를 사용하면 됩니다. 

 

▣ 문자 안에 \n을 사용하시면 됩니다.
백 슬레쉬라고도 하는데 이스케이프 시퀀스라고 합니다.
윈도에서는 \ 돈 표시로 보이게 되지만,
우리가 첫 시간에 글꼴을 바꾸었기 때문에
저렇게 보이는 겁니다.
그러니 혹시 다르게 보이시는 분은 글꼴을 바꾸시거나,
\이 기호로 사용하셔도 됩니다. 



▣\n은 new line에 약자입니다. 
쉽게 줄 바꿈을 하는 제어 문자라고 생각하시면 됩니다.
제어 문자에 종류가 몇 가지 있는데요.
몇 가지만 살펴보면 
\t는 탭 띄어쓰기(4칸 띄어쓰기)
\a 소리 
\", \'는 큰따옴표, 작은따옴표를 문자에 시작과 끝을 나타내게 하는 게 아닌,
문자 자체로 나타나게 합니다.
이렇게만 알아두시고, 나중에 하나하나 사용해보겠습니다.



▣ 우선 \n을 사용해서 줄 바꿈을 해보세요.
그리고 \t, \a, \", \'도 한번 사용해보시면 좋을 거 같습니다.

 

 

▣ 자 이번에는 print로 문자를 나눈 , 콤마로 구분된 문자를 다르게 바꿔보겠습니다.
print함숫값 안 마지막을 , 콤마로 구분하여 sep= 'and'를 입력해보고
컴파일을 해보면
파이썬 문자와 c언어문자 사이에 , 콤마에 값이 and로 바뀌는 걸 확인할 수 있습니다. 
sep은 구분자인 콤마를 우리가 지정한 문자로 바꾸는 식이라고 생각하시면 됩니다. 

 

▣ 이렇게 자바 문자까지 3개에 문자를 print함숫값에 넣고
sep로 and를 추가하면 
아까와 동일하게 , 콤마로 구분된 부분에 and가 들어가는 걸 확인할 수 있습니다. 
이건 우리가 많은 문자들을 입력하고 그 사이를 구분하는 부분에 
무언가 넣고 싶을 때 하나하나 넣는 게 아닌 
이런 식으로 쉽게 대입할 수 있겠죠



▣ 직접 다른 문자를 넣어서 사용해보세요~~

 

▣ 이번에는 end입니다
말 그대로 끝에 넣고 빈칸을 넣으면 
줄 바꿈이 사라지고 값들이 이어지는 걸 확인할 수 있습니다. 

 

▣ 또한 이렇게 변수를 이용해서 문자를 대입하고
end를 이용해서 변수에 값들을 연결했습니다. 



▣ 우리가 작성한 코드에서는 문자들이 줄 바꿈이 되게 코드를 입력해서 
우리가 원치 않는 줄 바꿈이 될 수 있지만
end를 사용하여 값들을 이어 줄 수 있습니다.



▣ 꼭 직접 사용해보세요 
숙제입니다.
이거에 대한 활용은 나중에 꼭 쓰시게 될 겁니다. 



▣ 자 이번에는 진짜 형식에 맞게 출력하는 걸 해보겠습니다.

 

▣ % d는 Decimal의 약자입니다.
10진수를 의미합니다. 
그리고 "문자가 끝난 그다음에 % 정수 값을 입력해주면 
% d 형식이 있는 부분에 값이 대입이 되는 걸 확인할 수 있습니다.



▣ 여기서 주의해야 할 건 sep, end를 사용하는 것처럼
, 콤마로 구분하시면 됩니다. 
""큰따옴표로 문자가 끝나 다음 부분에 바로
%를 붙어서 값을 넣으시면 됩니다. 

 

▣ % s는 string에 약자입니다. 
그래서 이렇게 문자를 넣어주면
그 형식 안에 문자가 대입되는 걸 확인할 수 있습니다. 



▣ c언어에서는 printf함수로 사용하기 때문에 
형식에 대한 개념을 처음부터 배워 어렵지 않습니다.
하지만 파이썬에서는 
변수를 선언할 때도 그렇고 
print함수를 사용할 때도 그렇고
형식들을 지정하지 않고 
컴퓨터가 자동으로 지정해주기 때문에 
이 부분을 모르고 지나갈 수도 있습니다.
하지만 이 부분은 너무나 중요합니다. 
자료형 말이죠.
자료형이라는 건 쉽게 이야기해서 
메모리에 크기와 형식이라고 생각하시면 됩니다.
이점 기억해주시고 꼭 실습해보세요.

▣ 그럼 형식을 한 가지 지정해서 값을 넣을 수 있으면
두 가지도 가능하겠죠?
이렇게 두가지 형식을 대입하고 싶으면
%에 값을 각각 대입하는 게 아닌
%() 괄호를 해주고 그 안에 콤마로 구분하여
각각 값을 순서에 맞게 대입해주면 됩니다. 
그런데 순서가 틀리면 안 되겠죠?
처음 형식이 % s 
두 번째가 % f 실수를 나타냅니다.
그럼 이 형식에 순서를 맞춰서 
값을 대입해줘야 됩니다.
그런 다음에 컴파일을 해보면 
각각 값이 대입에는 되는 걸 볼 수 있습니다.



▣ 자 직접 이번에는 형식을 3개까지 지정해서 대입해보세요~~
나중에 정말 많이 사용합니다. 

 

▣ 자 이번에는 또 다른 방법을 사용해서 형식을 대입해보겠습니다.
내가 대입할 곳에 % d가 아닌 {}를 넣습니다.
그런 다음에 값에 끝에
아무것도 안 넣었던 것과 다르게. 점을 찍은 후
format함수를 사용합니다. 
그리고 format() 괄호 안에 값을 대입해주면 {} 안에 그 값대로 값이 대입되는 걸 확인할 수 있습니다.

 

▣ 두 개에 값도 대입해볼까요?
{} 괄호를 문자 값에 넣고 각각 값에 순서에 맞게 
format() 괄호 안에 값을 넣어주면 순서대로 대입됩니다.



▣ 그럼 여기서 의문이 생깁니다.
이 순서는 바꿀 수 없을까요?
네 바꿀 수 있습니다.

 

▣ 이렇게 {} 형식에 괄호에 숫자를 넣어주고 
format함수에 값에 요소 값에 맞게 대입이 됩니다.
처음 format함수에 값에 
요소 값은 0부터 시작합니다.
0,1,2,3,4,5 이렇게 진행되는데
지금 위에서 {1}을 먼저 넣어주고
두 번째가 {0}으로 했기 때문에, 
이렇게 결괏값이 나오게 됩니다. 
요소 값이라는 건 
함수 안에 있는 값에 순서에 숫자라고만 생각해주세요 ^^
나중에 리스트를 진행할 때 자세히 다루겠습니다.



▣ 그리고 여기서 또 명심해야 할 건 컴퓨터에 숫자에 시작은 0입니다.
잊지 마세요.

 

▣ {} 형식 괄호를 3개를 추가하고 각각 숫자에 순서를 다르게 해서
format에 값을 대입했습니다.
그리고 변수로도 할 수 있습니다.

 

▣ 이렇게 변수에 이름 따라 값을 대입할 수도 있습니다.



▣ 직접 변숫값과 형식들을 사용해서 해보세요~~

 

▣ 자 마지막으로 
변수에 문자를 선언 및 정의를 해줍니다.
그리고 이번에는
그 변수에 있는 문자에 요소 값을 활용하여 원하는 부분까지만 
출력을 해보겠습니다.
Number [5]라고 하게 되면 
그 변수에 값에
0부터 시작해서 5를 출력하는 걸 확인할 수 있습니다. 
5개를 의미하죠.
그리고 [1:5]라고 하게 되면 5에 숫자는 제외한 1부터 4까지에 숫자를 출력하는걸 확인할 수 있습니다.
쉽게 생각해서 처음 숫자는 항상 포함하지만
끝 숫자는 포함하지 않다고 생각하시고 
출력해보세요.
[:3]을 하게 되면 처음에 요소 숫자부터 끝에 정한 3을 제외한 요소까지에 숫자를 추출합니다.
그럼 5:를 하게 되면 5부터 끝까지에 숫자를 출력합니다. 
끝에 있는 요소 숫자를 설정해주지 않았기 때문이죠.



▣ 이 부분은 나중에 List를 공부할 때 자세히 다루도록 하겠습니다.
지금은 문자에 요소 값 각각 번호가 있다고만 생각해주시고 
위에 있는 실습을 진행해주세요.



▣ 오늘은 이렇게 형식으로 문자를 출력하고 
값을 가져오는 걸 진행했습니다. 
제어 문자도 사용해보았고요.
그럼 여기서 질문이 생길 수 있을 겁니다.
형식으로 가져오는 방법 중에서 어떤 게 가장
좋은 방법이냐고 물어보실 분이 있을 겁니다.
솔직히 저에 답읍
저는 여러분들이 편한 방법을 사용하는 게 좋다고 생각합니다 ^^
코딩은 정답이 없다고 저는 생각합니다.
그러니 여러분들도 위에 있는 실습들을 다 숙제로 해보시고
꼼꼼하게 읽어주시고,
코딩이 틀린 게 있다면 하나하나 읽고 수정해주세요.
그리고 위에 있는 형식들을 활용해서 출력하는 것 다 해보세요^^
혹시 어려운 게 있으시면 댓글 남겨주세요~
그럼 다음장에서 뵙겠습니다.



▣ 포기하지 마세요!!! 저도 했습니다!!! 파이팅!!!

728x90
반응형

댓글