본문 바로가기
프로그래밍 기초 스터디/파이썬 - Python

파이썬 공부 ① 기본 : 문자열, 서식 출력

by 공부하는우니 2021. 6. 3.

이번에 파이썬 기본기를 제대로 다져보기 위해 한번 작성해 보는 포스팅 입니다.

 

개인 기록용이기에, 아 그거 헷갈렸는데 뭐였더라? 싶은 내용을 정리하는 정도의 포스팅!

 

파이썬 3.X, 파이참 기준으로 작성하며, IDE가 자동으로 변환해주는 내용은 적당히 넘어갈 예정이고,

 

대략적인 컴퓨터 비전, 딥러닝에서 활용할만한 내용만을 작성해봅니다.

 


  • 기본적으로 반각으로 작성함. 따옴표 안에서만 전각(한글) 작성 가능 : "한글", 및 '한글'
  • 인코딩은 UTF-8 권장
  • 대문자 소문자 구분하여 사용함
  • 주석처리 #

 

문장은 줄바꿈으로 구분하지만, 세미콜론으로 한 줄에 여러 명령어를 작성할 수 있음

- 선언 ; 선언

- 선언 ; 선언 ;

모두 가능

a = 1
b = 2
print(a, b)
c = 3 ; d = 4
print (c, d)
e = 5; f = 6;
print (e, f)


########## 결과 
1 2
3 4
5 6

 

변수의 형 확인시 type(변수) 활용. 변수.type 아닌 경우가 많으니 주의

a = 3; print(type(a))
a = '3'; print(type(a))


########## 결과
<class 'int'>
<class 'str'>

 

문자열에서 홀따옴표('), 겹따옴표(") 활용 예시

 

- 홀따옴표 안에 겹따옴표, 겹따옴표 안에 홀따옴표를 사용 가능

print(' " ')
print(" ' ")


########## 결과
 " 
 ' 

 

이스케이프 문자 '\' (백슬래쉬)의 활용

 

이스케이프 시퀀스 기능
\n 줄바꿈
\t
\r 캐리지 리턴
\" " 표시
\' ' 표시
\\ \ 표시
print(' \'Welcome \t to \t Python\' ')


########## 결과
 'Welcome 	 to 	 Python' 

 

문자열을 \n을 사용하지 않은 채 여러 줄로 입력하기 : ''' 혹은 """

a = '''hello
world
!'''
b = """HELLO
WORLD
!!!
"""
print(a)
print(b)


########## 결과
hello
world
!
HELLO
WORLD
!!!

 

문자열 기초

- 변수로 저장되지 않은 리터럴 문자열의 경우 +를 사용하지 않고 출력 가능

- *를 통해 문자열을 반복할 수 있음

- 시작/왼쪽부터 0, 1, 2 ... 순서이고, 끝/오른쪽 부터 -1, -2, -3 ... 으로 참조가 가능

a = 'Hello'
b = 'World'
print(a, b)
print(a + b)
# print(a b) : 오류
print('Hello' 'World') # 리터럴 문자열의 경우 +나 , 사용 하지 않아도 됨
print(a*3)
print(a[0], a[1], a[2])
print(a[-1], a[-2], a[-3])


########## 결과
Hello World
HelloWorld
HelloWorld
HelloHelloHello
H e l
o l l

 

서식을 활용한 출력 : 파이썬 초창기 때 사용하던 방법 : % 연산자를 사용함

 

서식 의미 표시 예
%d 정수 10진수 표시 1, 2, 3
%x 정수 16진수 표시 1, a, 1e
%f 실수 표시 1.000, 2.1
%s 문자열 표시 A, abc
print('p : %d' %3)
print('p : %d' %3.0)
print('p : %f' %3.0)
print('p : %s' %'3.0')
print('p : %d vs %f' % (3.0, 4.0))


########## 결과
p : 3
p : 3
p : 3.000000
p : 3.0
p : 3 vs 4.000000

 

자릿수 표기

print('p : %4d' %10) # 왼쪽에 공백 2칸 존재함 (오른쪽 정렬)
print('p : %-4d' %10) # 오른쪽에 공백 2칸 존재함 (왼쪽 정렬)
print('p : %4d' %100000) # 자릿수가 넘을 경우 그대로 출력
print('p : %04d' %10) # 0으로 채워서 자릿수를 맞춤
print('p : %.3f' %3.14159) # 소숫점 아래 자리수 3자리까지 표기



########## 결과
p :   10
p : 10  
p : 100000
p : 0010
p : 3.142

 

format 메서드

- 추가적으로 출력시 정렬 등 기능 있지만 사용하진 않을 듯.

a=3; b='b'
print('p : {}' .format(a)) # 변수 표시
print('p : {}, {}' .format(a, b)) # 다수 변수 표시
print('p : {1}, {0}' .format(a, b)) # 다수 변수 순서 지정 표시

c = 3.33
print('{:d}'.format(a)) # 출력 가능, d, f, x 등 사용가능
# print('{:d}'.format(c)) # 에러 : 무조건 int형이 들어가야 함.


########## 결과
p : 3
p : 3, b
p : b, 3
3
1,234,567,890

 

구분 문자(sep), 줄 바꿈 문자(end)

- sep로 구분 문자로 특정 문자를 설정할 수 있음 (기본값 : 스페이스)

- end로 문자열 마지막에 줄바꿈 문자를 설정할 수 있음 (기본값 : \n)

print('A', 'B', 'C', 'D')
print('A', 'B', 'C', 'D', sep = ',', end = '/')
print('A', 'B', 'C', 'D', sep = '', end = '')


########## 결과
A B C D
A,B,C,D/ABCD

 

댓글