본문 바로가기

순이코딩/Python

[Python] 파이썬 기초(1) - Jupyter Notebook / 변수 / 문자열

728x90
반응형

 


 

파이썬은 1991년 발표된 인터프리터(Interpreter) 방식의 프로그래밍 언어입니다. 인터프리터는 코드를 한 줄씩 읽어 내려가며 실행하는 방식입니다. 고급 프로그래밍 언어는 대부분 인터프리터 방식인데, 인터프리터 방식이 많이 쓰이는 이유는 프로그래밍 언어의 설계가 쉽기 때문입니다.

 

저는 파이썬 개발 툴 중에서 주피터 노트북(Jupyter Notebook)을 사용하겠습니다.

 

 

■ 주피터 노트북(Jupyter Notebook) 단축키

 

커맨드 모드(Command Mode)에딧 모드(Edit Mode) 둘의 단축키가 다르기 때문에 어떤 모드인지 잘 보고 사용하셔야 합니다.

 

(1) 커맨드 모드

단축키 내용
Enter Edit Mode로 전환
a 위에 셀(Cell)추가
b 아래에 셀(Cell)추가
m Markdown으로 전환
y Edit Mode로 전환
dd 셀(cell) 삭제

 

(2) 에딧 모드

단축키 내용
Esc Command Mode로 전환
Ctrl + z 앞으로 되돌리기(실행취소)
Ctrl + y 뒤로 되돌리기(실행취소의 취소)
Ctrl + d 커서 있는 줄 삭제

 

(3) 실행 단축키

단축키 내용
Ctrl + Enter 셀(Cell) 실행
Shift + Enter 셀(Cell) 실행 후 아래로 커서 이동
Alt + Enter 셀(Cell) 실행 후 아래에 셀(Cell) 추가

 

 

1. 변수

 

변수란 변화를 줄 수 있는 수입니다. 파이썬에서는 java에서 보다 더 편하게 변수 선언이 가능합니다.

우선 자료형이 생략됩니다. java에서는 숫자형은 int, 문자형은 char, 문자열은 String 등 변수 앞에 자료형을 붙여주어야 했습니다.

a = 1
b = 'a'
c = '김군순 짱'

print(a)
print(b)
print(c)

 

위의 그림과 같이 자료형에 상관없이 잘 담아진 것을 볼 수 있습니다. 또한 문자형과 문자열에 쓰이는 작은따옴표, 큰따옴표의 구분도 없는 것을 확인할 수 있습니다. 

파이썬에서 변수는 객체를 가리킵니다. 여기서 객체란 메모리 상에 있는 프로그래밍 조작의 대상이 되는 것을 말합니다. 그렇기 때문에 어떤 자료형이든 리스트이든 담을 수 있습니다.

 

a,b = 10,15
print(a)
print(b)

변수를 담을 때 이렇게 한 번에 담을 수도 있습니다.

str1 = str2 = "python"
print(str1)
print(str2)

같은 값을 담을 때 이렇게 담는 방법도 가능합니다.

 


 

2. 문자열

 

만약 문자열 안에 작은따옴표 또는 큰 따옴표를 포함시키고 싶을 때 쓰는 방법에는 두 가지 방법이 있습니다.

s = "she's gone"

파이썬에서는 문자열을 담을 때 작은따옴표와 큰 따옴표를 구분하지 않기 때문에 이렇게 작은따옴표를 문자열에 포함시키고 싶다면 큰 따옴표로 감싸주고, 큰 따옴표를 문자열에 포함시키고 싶다면 작은따옴표로 감싸주는 방법이 있습니다.

두 번째 방법은 역슬래시를 사용하는 방법입니다.

s1 = 'she\'s gone'

이렇게 두 가지 방법 모두 작은따옴표가 문자열에 잘 포함되어 있는 것을 볼 수 있습니다.

 

■ 이스케이프 코드

 

이스케이프 코드란 프로그래밍 할 때 사용할 수 있도록 미리 정의해 둔 "문자 조합"입니다.

코드 설명
\n 개행(줄바꿈)
\t 수평 탭
\\ 문자"\"
\' 작은 따옴표
\" 큰 따옴표
s= '''문자열을
적    어
보세요'''
print(s)

 

만약 따옴표 3개를 사용한다면 이스케이프 코드와 상관없이 개행이 가능합니다.

 

■ 문자열 인덱싱/슬라이싱

 

인덱스란 데이터가 생성될 때 자동으로 부여되는 순서 번호입니다. 인덱싱은 인덱스를 가리킨다는 의미이고 슬라이싱은 인덱스의 범위를 잘라낸다는 의미입니다.

msg = 'My name is kimkunsoon'
print(msg[0])
print(msg[8])

 

파이썬에서도 시작번호는 0입니다. 그렇기 때문에 0번 인덱스를 출력했을 때 M이 11번 인덱스를 출력했을 때 k가 출력되고 있습니다.

역순으로 할 때는 음수를 사용할 수도 있습니다. 음수를 사용할 때 인덱스 번호는 아래의 그림과 같이 지정됩니다.

 

슬라이싱을 할 때는 콜론을 사용합니다.

변수명[시작할값(인덱스):끝값(포함x)]

 

주의할 점은 끝값은 포함이 되지 않습니다. 그렇기 때문에 끝값은 불러오고 싶은 인덱스+1을 한 값을 지정해야 합니다.

위의 문자열에서 My name을 슬라이싱 하고 싶다면 시작값은 0, 끝값은 6번 인덱스 다음인 7로 지정해야 합니다.

msg[0:7]

 

만약 인덱스값을 비워두게 되면 처음부터 끝까지입니다. 위의 경우 처음부터 6번 인덱스까지 불러오고 싶으니 이렇게 입력할 수 있습니다.

msg[:7]

 

 

■ 문자열 포매팅(Formatting)

 

포매팅은 문자열 안의 특정한 값을 삽입해야 될 때 사용합니다.

day = 29
month = 12
s = '오늘은 %d월 %d일 입니다.'%(month,day)

코드 설명
%s 문자열
%c 문자 1개
%d 정수
%f 실수
%% 문자 '%'

 

포맷 코드 없이 . format() 함수 또는 f 포매팅 을 사용해 포매팅하는 방법도 있습니다.

 

두 가지 방법은 위 그림과 같이 {}를 사용합니다. 함수를 사용할 때는 문자열을 작성한 후 뒤에 함수를 불러와 변수명을 넣어주고 f 포매팅을 사용할 때는 앞에 f를 붙인 후 문자열 안에 있는 중괄호에 바로 변수명을 넣는 방법으로 사용합니다.

 

■ 문자열 함수

 

함수 설명
count('문자') 문자열에 포함된 문자 개수 세기
find('문자') 문자 위치 알려주기
index('문자') 문자 위치 알려주기
join('문자') 각각의 문자 사이에 '문자' 삽입하기
upper() 소문자를 대문자로 바꾸기
lower() 대문자를 소문자로 바꾸기
lstrip() 왼쪽 공백 지우기
rstrip() 오른쪽 공백 지우기
strip() 양쪽 공백 지우기
replace('문자1','문자2') 문자1을 문자2로 바꾸기
split() 문자열 나누기

 

728x90
반응형