처음 만나는 파이썬 - Chapter2

  • SUNGMIN SHIN
  • 17 Minutes
  • 2018년 1월 26일

[ 처음 만나는 파이썬 ]

(http://book.naver.com/bookdb/book_detail.nhn?bid=11825959)


Chapter2 - 파이썬 프로그래밍 시작하기


공백의 사용

파이썬에서는 프로그램을 읽기 쉽게 하려고 공백에 관한 엄격한 규칙을 정해 놓았다. 비유하자면 원고지에 글을 쓸 때 단락을 시작하는 첫 칸은 비워야하는 규칙과 유사한 것으로 프로그램 코드의 각 줄 앞 부분에 넣는 공백을 인덴트(indent)라고 한다.
(인텐츠가 필수가 아닌 언어도 있으며 그러한 언어의 경우 가독성을 위해 의례적으로 인덴트를 사용하지만 지키지 않아도 에러가 발생하진 않는다.)


Chapter2-2 파이썬으로 계산하기


덧셈, 뺄셈

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'덧셈'
1128 + 2344


'뺄셈'
400 - 330


'곱셈'
10 * 3


'나눗셈'
10 / 2


'거듭제곱'
2**2


'나머지'
10 % 2


<파이썬의 산술연산자>

산술연산자 사용법
+ 1 + 1 뎃셈
- 1 - 1 뺄셈
* 2 * 2 곱셈
/ 2 / 2 나누기
% 2 / 1 나머지(나누기)
** 2 ** 2 거듭제곱


Chapter2-3 변수(데이터를 편리하게 다루기 위해)


변수의 작성방법

변수를 기술하는 방법은 변수명과 값 사이에 =(EQUAL)을 쓰면 됩니다.

변수명 = 값

변수의 역활과 주요 장점

1> 연락처와 같이 기억해 두기 어려운 데이터(전화번호)를 lee_telephone과 같이 기억하기 쉬운 이름으로 저장하여 원할 때 사용할 수 있다.
2> 데이터에 이름을 붙임으로써 의미를 부여할 수 있다. 예를 들어 0.08이라는 값에 tax라는 이름의 변수명을 지정한다면 tax는 영어로 세금이라는 뜻으로 tax가 곱해져있는 계산식을 보면 세금을 계산하고 있다고 쉽게 유추할 수 있다.

변수에 사용할 수 있는 문자

변수의 이름은 기본적으로 자유롭게 명명할 수 있지만 모든 문자를 다 사용할 수 있는 것은 아니며 아래와 같은 규칙을 갖는다.

1> 첫 번째 문자에 숫자를 사용하지 않는다.
2> 예약어를 사용하지 않는다.

변수의 이름을 지을 때는 그 변수가 가지는 의미를 나타내는 영어 단어를 사용한다. 예를 들어 사과의 가격을 담는 변수라면 apple_price라고 하는 것이 적절한데 그 이유는 다른 사람이 이 코드를 봤을 때 그 변수가 어떤 의미를 가지는지 알기 쉽기 때문이다.


Chapter2-4 비교연산자(어느쪽이 더 많은가? 큰가?)


비교연산자란?

비교연산자는 이름 그대로 비교에 사용되는 연산자로 데이터 간으 ㅣ비교를 통해 어느 쪽 숫자가 더 크거나 작은지 확인하는 데 사용합니다.

python의 비교 연산자

비교 연산자 사용 예
> 2 > 1 2는 1보다 크다
>= 2 >= 1 2는 1보다 크거나 같다
< 1 < 2 1은 2보다 작다
<= 1 <= 2 1은 2보다 작거나 같다
== 2 == 2 2와 2는 같다
!= 2 != 1 2와 1은 같지 않다.


Chapter2-5 데이터형(파이썬에서 다루는 다양한 데이터의 종류)


수치형

1, 2, 10과 같은 숫자를 다루는 데이터형이 수치형으로 수치형 데이터끼리는 더하기, 빼기등의 연산을 할 수 있다.
수치형에는 세 가지 종류가 있는 데 정수(integer), 부동소수점(소수), 복소수로 정수는 int, 부동소숫점(소수)는 float, 복소수는 complex라고 한다.

정수

1
2
3
34 + 45

number = 55

부동소수점(소수)

1
2
3
5 + 3.4

5 / 2

복소수

1
2
3
4
complex = 5 + 5j
complex + (3 + 1j)

'(8+6j)'

문자열 형

말 그대로 문자열을 다루는 데이터형으로 문자들을 작은따옴표(‘)나 큰따옴표(“)로 둘러싸서 문자열형을 지정할 수 있다.
그리고 작은따옴표나 큰따옴표 세개를 연속으로 붙이면 복수행의 문자열을 만들 수 있다.

문자열

1
2
3
4
5
6
7
8
'happy'
"birthDay"

'''
sunday
monday
tuesday
'''

문자열 형과 산술연산자

문자열형에서도 산술연산자 +와 *를 사용하여 조작할 수 있다.

+를 사용한 문자열 조작
문자열형에 산술연산자 +를 사용하면 문자열들을 연결할 수 있다.
단 문자열 형에서 +기호를 사용할 때에는 문자열 형 간에만 사용해야하며 그렇지 않은 경우 에러가 발생하게 된다.

1
2
3
4
'thunder' + 'bolt'

'에러 발생'
'thunder' + 100

*를 사용한 문자열 조작
문자열형 데이터에 숫자를 곱하면 문자열이 반복된 데이터를 얻을 수 있다.
단 문자열형에 * 연산자를 사용할 때는 문자열형과 수치형 간에만 사용해야하며 그렇지 않은 경우 에러가 발생하게 된다.

1
2
3
4
5
'hello' * 3


'에러 발생'
'hello' * 'world'

수치형과 문자열형은 어때서 나뉘었는가?
숫자는 수치형뿐 아니라 문자열형으로 다루고 싶은 경우가 있는 데 예를 들어 전화번호는 어떤 데이터형이 적절할까?
답은 문자열형이다 왜냐하면 전화번호의 숫자는 더하거나 뺄 일이 없기 때문(연산할 일이 없단 이야기)이다. 그리고 각 데이터형에서는 그 데이터형에 맞는 다양한 기능들이 준비되어 있으므로 적합한 용도로 사용하는 것이 좋다.

문자열 형의 편리한 기능

upper() 메서드를 사용한 대문자로 변경

1
2
text = 'hello';
text.upper()

count() 메서드를 사용한 특정 문자를 몇번 포함하는 지 확인하기

1
2
word = 'maintenance'
word.count('n')

논리형

논리형은 True / False 두가지 값밖에 존재하지 않으며 비교의 결과로 전달되기도 한다.
논리형을 사용할 때 주의할 점은 True와 False모두 첫 글자는 대문자 인것으로 소문자로 작성하는 경우 논리형으로 인식하지 않는다.

1
2
3
4
5
46 > 49
'True'

46 > 49
'False'

리스트형

많은 데이터를 하나로 묶어서 사용하 ㄹ수 있는 데이터형으로 묶고 싶은 데이터를 쉼표(,)로 구분하여 대괄호([])에 넣는다.

[57, ‘banana’, True]

여러 데이터형과 마찬가지로 변수에 대입(할당)하여 사용할 수 있다.

1
2
Agroup = ['lee', 'kim']
Bgroup = ['jang', 'han']

리스트형에 요소를 추가, 제거하기
리스트형의 요소를 추가할 때는 append()메서드를 삭제할 때는 remove()메서드를 사용한다.

1
2
3
Agroup = ['lee', 'kim']

Agroup.append('park')
1
2
3
Agroup = ['lee', 'kim']

Agroup.remove('lee')

리스트형에 요소 정렬하기
리스트형의 요소를 정렬할 때는 sort()메서드를 사용한다. 문자형, 수치형에 모두 사용할 수 있지만 두가지가 섞여있는 경우 에러가 발생하는 점에 주의한다.

1
2
3
4
5
Agroup = ['lee', 'kim', 'park']

Agroup.sort()

"['kim', 'lee', 'park']"
1
2
3
4
5
Agroup = [5, 2, 3, 1, 4]

Agroup.sort()

"[1, 2, 3, 4, 5]"

01_함수는 이럴 때 사용해요

함수를 사용하면 좋은 점은 두 가지로 꼽을 수 있습니다.

  1. 코드 중복 제거 및 코드 재사용
  2. 유지보수 용이성

< 함수를 사용하지 않은 경우 >

< 함수를 사용한 경우 >


02_함수란?

특정 기능을 하는 구문(알고리즘, 로직)을 독립된 부품으로 만들어 재사용하고자 할 때 사용하는 문법으로 일종의 포장기법이라고 할 수 있습니다.