파이썬 공부 교재 : Do it! 점프 투 파이썬 -박응용
1장 파이썬이란 무엇인가?
파이썬은 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어이다.(인터프리터 언어란 한 줄씩 소스코드를 해석해서 바로바로 실행해 결과를 바로 확인할 수 있는 언어를 뜻한다.)
파이썬과 C는 융합이 좋다. 전반적 토대는 파이썬, 빠른 실행 속도를 요하는 부분은 C로 만들어서 파이썬 프로그램안에 포함시킨다.
문법이 쉽다.
파이썬에서는 단락을 구분하는 괄호 문자가 보이지 않는다. 줄을 잘 맞춰야 한다. 들여쓰기를 하지 않으면 프로그램이 실행되지 않는다.
파이썬으로 할 수 있는 것
- 시스템 유틸리티 제작
- GUI 프로그래밍
- C/C++와의 결합
- 웹 프로그래밍
- 수치 연산 프로그래밍
- 데이터베이스 프로그래밍
- 데이터 분석, 사물 인터넷
파이썬으로 할 수 없는 것
- 시스템과 밀접한 프로그래밍 영역
- 모바일 프로그래밍
2장 파이썬 프로그래밍의 기초, 자료형
숫자형 : 정수, 실수, 복소수, 8진수, 16진수
8진수를 만들기 위해서는 숫자가 0o or 0O로시작하면 된다. 16진수는 0x or 0X로 시작한다. 잘 안 쓴다.
복소수는 i 대신 j를 사용한다. 복소수.real 은 실수 부분, 복소수.imag 는 허수 부분, 복소수.conjugate는 켤레복소수를 리턴한다.
**는 제곱이다. x**y는 x를 y번 곱한 것이다. %는 나머지를 반환한다. //는 나눗셈 후 소수점 아랫자리를 버린다.
문자열 : 문자, 단어 등으로 구성된 문자들의 집합을 의미.
문자열을 만드는 방법은 총 4가지이다.(파이썬에서)
- "Hello world". 큰 따옴표로 둘러싸기.
- 'Hello world' 작은 따옴표로 둘러싸기.
- """hello world """ 큰 따옴표 3개로 둘러싸기
- '''hello world''' 작은 따옴표 3개로 둘러싸기
문자열 안에 따옴표를 넣을 때 구문적으로 오류가 생기지 않도록 4개나 되는 것이다.
You're fired! 라는 문자열을 할 때 작은 따옴표로 둘러싸기를 쓰면 구문 오류가 발생한다. 그러니 다른 방법으로 하면 된다.
혹은 따옴표를 문자열에 포함시키는 방법으로 백슬래시(\)를 이용하면 된다. 백슬래시 다음에 따옴표를 두면 문자열을 둘러싸는 기호의 의미가 아니라는 것을 의미한다.
3개씩 따옴표를 쓰는 것은 여러 줄의 문자열을 넣을 때 사용한다.
문자열 연산
파이썬만의 장점.
파이썬에서는 문자열을 더하거나 곱하는 방법이 허용된다.
문자열을 더해서 연결한다거나 문자열을 곱해서 여러 번 문자열을 반복시키든가.
문자열 인덱싱과 슬라이싱
인덱싱- 가리키기, 슬라이싱-잘라내기.
문자열을 담는 변수 confession은 다음과 같다.
나 | 는 | 너 | 를 | 좋 | 아 | 해 | . | ||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
각 인덱스를 통해서 문자를 뽑아낼 수 있고, 슬라이싱으로 문자열의 일부만을 따올 수도 있다.
confession[0]은 '나', confession[6:9]는 "좋아해"를 나타낸다.
방금 인덱스를 봤듯이 파이썬은 숫자 0부터 센다. 문자열을 뒤에서부터 읽으려는 것은 마이너스(-) 기호이다.
문자열 포매팅
"I eat %d apples." %3
숫자를 바로 3으로 대입하게된다.
문자열도 넣을 수 있다. % "Three"
변수도 넣을 수 있다.
여러 개 넣고 싶다면 뒤에 % (number,day,lol) 이렇게 괄호 안에 차례대로 , 콤마로 구분지어 넣는다.
문자열 포맷 코드도 있다.
코드 | 설명 |
%s | 문자열 |
%c | 문자 1개 |
%d | 정수 |
%f | 부동 소수 |
%o | 8진수 |
%x | 16진수 |
%% | Literal % |
%10s 를 사용하면, 전체길이가 10개인 문자열 공간, 문자열을 오른쪽으로 정렬하고 나머지는 공백으로 둔다.
문자열 관련 함수들
문자 개수 세기- 변수.count('문자')는 찾는 문자가 몇 개 있는지 확인.
위치 알려주기- 변수.find('문자')는 문자열에서 문자가 처음 나온 위치를 반환한다. 존재하지 않으면 -1 반환
변수.index('문자')도 같은 역할, 다만 존재하지 않으면 오류를 발생시킨다.
문자열 삽입- 변수.join('삽입할 문자열)
>>> a = ","
>>> a.join('abcd')
'a,b,c,d'
소문자 대문자 변환은 변수.upper() 나 변수.lower()를 이용.
공백 지우기 - 변수.lstrip() , 변수.rstrip() , 변수.strip을 사용하면 각각 왼쪽 공백 제거, 오른쪽 공백 제거, 양쪽 공백을 제거한다.
문자열 교체- 변수.replace("안녕","잘가") 문자열에 있는 안녕이 잘가로 바뀐다.
문자열 나누기(split)- 변수.split() 공백을 기준으로 문자열을 나누고, split(':')는 :를 기준으로 문자열을 나누어 리스트에 넣는다.
다음은 리스트 자료형부터 시작하자.