프린트문 옵션이라고 썼지만, 사실 문자열 처리에 관한 내용입니다.
루프문을 통해서 문제를 계속 풀다보면,
값이 제대로 나오고 있는지 확인을 꼭 해야합니다.
프린트문을 적절히 사용하면, 어디서 문제가 발생했는지 알아내기가 쉽습니다.
프린트문 출력이 너무 많으면 전체 실행속도가 조금 느려지는것 같으니, 어느정도 문제를 해결했으면 프린터문은 삭제하는게 좋습니다.
가로로 출력
print('variable',variable,end='')
한루프당 출력결과가 많을때, 혹은 여러가지 값을 찍어보고 싶을때는, 가로로 출력하는것이 라인수도 줄어들고 보기도 편합니다. 프린트문 끝에 end='' 이라는 옵션을 추가해주면, 그다음 출력문이, 오른쪽에 이어서 표시됩니다. 공백이나 콤마등으로 구분을 주고 싶으면 end=' ' 나 end=','처럼 따옴표안에 문자열을 지정해주면 됩니다.
여러항목 출력1
print('This is string :', var_char, 'This is number :' ,var_num,var_num2)
콤마(,)로 구분하면, 문자, 숫자 상관없이 일정공백을 사이에 두고 출력됩니다.
print('This is string :' + var_char, 'This is number :', var_num+var_num2)
콤마 대신, 플러스(+)를 쓰면, 문자끼리는 공백없이 이어져서 출력이 되고, 숫자끼리는 합산이 됩니다.
문자와 숫자사이에 (+)를 사용하면 오류가 납니다.
여러항목 출력2
print('{0} and {1}'.format('spam', 'eggs')) print('{1} and {0}'.format('spam', 'eggs')) num1=1;num2=2 print('{0} {1}'.format(num1,num2))
.format 이라는 옵션으로 값을 여러개 주고, 중괄호로 읽어오는 방법도 있습니다. 위치를 바꾸고 싶으면 괄호안의 숫자를 바꿔주면 되고, 변수명으로 대신해줘도 됩니다.
정확한 명칭은 str.format() 함수입니다.
str.zfill(0이라는 함수도 있는데, '문자열'.zfill(7) 이렇게 숫자를 지정하면, 지정된 숫자만큼의 공간중에서 문자열을 제외한 남는 공간을 0으로 채워줍니다.
여러항목 출력3
python 2버전이나 다른언어에서 쓰던 방식인 %s %d %f 도 쓸수 있습니다.
print('Text %s'%var_char) print('Number %d'%var_num)
출력문 안쪽에 %s %d %f를 써주고, 출력구문 바로 %뒤에 변수명이나 값을 써줍니다.
(%s:문자열 %d:정수 %f:부동소수점)
print('This is text %s This is number %d'%(var_char,num1))
여러개를 출력할때는, 괄호로 변수를 묶어주면 됩니다.
위 3번과 4번을 중첩해서 여러개를 쓸수도 있습니다. 이렇게 쓸일이 있는지는 잘 모르겠지만요,,
str1='str1'; num1=1; num2=2; num3=3; num4=4 print('{0} {1} %d {2} {3} %s'.format('test','11',num1,num2)%(num3,str1))
test 11 3 1 2 str1
이정도만 해도, 반복문 사용하는데는 충분할거 같구요, 더 자세한 사용법을 원하시면 아래 링크를 참조하세요.