7강 자료형-숫자형 bool(Python Algorithm 7 Data Type-Number bool)
부제 : 알고리즘을 배우면서 파이썬 기초부터 RPG까지 정복
내용 : 초중고 또는 코딩 기초 입문자를 위한 누구나 따라 배울 수 있는 Python Algorithm 프로그램 기초 강의
파이썬을 통해 알고리즘도 배우고 기초 프로그램 문법도 배우고 수학도 배우면서 기초 코딩 교육을 배웁시다. 초보자도 아주 쉽게 배울 수 있도록 최대한 쉽게 설명을 할 것이며 따라하다 보면 어느덧 기초 과정을 마스터하면서 나중에 TRPG(Table-talk Role Playing Game 이라고 하는데 저는 그냥 Text Role Playing Game 즉 문자 타이핑으로 하는 역할 수행 게임 이라고 부르겠습니다.)를 구현하는 과정까지 해 보겠습니다. 교재 및 강의 자료는 네이퍼 카페 백년지계 에 파이썬 에서 닭치고 알고리즘 부분에도 있습니다. 이 시대의 패러다임 코딩 교육을 쉽게 접근하여 친밀한 생활의 코딩으로 배워 나갑시다. 함께 닭치고 아두이노도 같이 하시면 좋습니다.
구독 좋아요 댓글 많이 많이 해주세요.
[동영상강의]
7. 자료형-숫자형, bool
재귀호출 까지 배우면서 무작정 따라하다 보니 **자료형(Data Type), 연산, if , for** 들이 궁금해 지죠?
이제 이것들에 대해서 기초를 배우고 나서 다음 알고리즘 강의로 넘어갑시다.
자료형 중에서 먼저 **숫자형**을 강의하도록 하겠습니다.
숫자형(Number)
숫자형(Number)이란 숫자 형태로 이루어진 자료형으로, 우리가 이미 잘 알고 있는 것들이다.
우리가 흔히 사용하는 것들을 생각해 보자.
-3, -2, -1, 0 1, 2, 3과 같은 정수, 3.14와 같은 실수, 복소수, 2진수, 8진수, 16진수 같은 것들이 있는데 복소수, 2진수, 8진수, 16진수는 다음에 기회가 닿으면 수학적 지식과 함께 따로 설명을 하도록 할테니 오늘은 그냥 이런 것들도 있구나 하고 보기만 하세요.
아래 표는 숫자들이 파이썬에서 어떻게 사용되는지를 간략하게 보여 줍니다.
항목사용 예
정수(int) | -356, -100, 0, 256, 512 |
실수(float) | 3.14, 1.414, -1.7 |
이진수 | 11110001(2) |
8진수 | 0o34, 0o25 |
16진수 | 0x2A, 0xFF |
이제 이런 숫자들을 파이썬에서는 어떻게 만들고 사용하는지 자세히 알아봅시다.
정수형(int)
정수형(Integer 을 줄여서 int)이란 말 그대로 정수를 뜻하는 자료형을 말합니다.
sum.py 에서 배운 합의 변수 s 에 0을 대입하는 s = 0 이렇게 대입하는 것이 기억나죠?
다음 예는 양의 정수와 음의 정수, 숫자 0을 변수 s, i에 대입하는 예입니다.
>>> s = 0 # 정수 0을 s 에 대입
>>> i = -100 # 음의 정수 100 을 i 에 대입
>>> i = 100 # 양의 정수 100 을 i 에 대입
그런데 파이썬에 int타입은 수학에서 말하는 정수와는 조금 개념이 다릅니다.
파이썬에서 int 타입은 소숫점 이하에 정보가 없는 숫자를 이야기합니다.
파이썬에서 소숫점 이하의 정보가 없는 숫자를 작성하면 `int`타입으로 생성해줍니다.
그럼 우리가 만든 숫자 타입을 확인해보기 위해 **type** 이라는 함수를 사용해 보겠습니다.
type 는 어떤 객체에 타입을 알려주는 함수입니다.
type(객체)
type라고 타이핑후에 괄호를 열고 닫음으로써 기능을 호출(call)합니다.
또 확인할 객체를 괄호사이 안에 입력함으로 객체를 함수의 인자로 보냈습니다.
이로써 우리는 객체의 type을 확인할 수 있습니다.
객체, 클래스는 다음 번에 기회가 되면 다시 강의하도록 하겠습니다.
type()을 이용해서 확인해보도록 하겠습니다.
터미널 창에서 python 을 입력합니다.
PS C:\Users\khd> python
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> type(1) # 소수점 이하에 정보가 없는 숫자
<class 'int'>
>>> type(100)
<class 'int'>
>>> type(0)
<class 'int'>
>>> type(-1)
<class 'int'>
>>>
소숫점 이하에 정보가 있으면 어떻게 나타날까요.
>>> type(1.2) # 소수점 이하에 정보가 있는 숫자
<class 'float'>
>>>
아래에 배울 실수형(float) 이 나타납니다.
만약 소숫점 이하의 정보가 의미없는, 즉 0인 경우에는 어떤 타입이 나타날까요?
>>> type(1.0)
<class 'float'>
>>> type(1.000)
<class 'float'>
>>>
파이썬은 소수점 이하의 0이라는정보를 표현했기 때문에 int 형이 아닌 float 형이라고 나타냅니다.
실수형(float)
파이썬에서 실수형은 소수점이 포함된 숫자를 말합니다.
float은 floating point의 준말로, 부동소숫점을 이야기합니다.
다음 예는 실수를 변수에 대입하는 예입니다.
>>> i = -3.14 # 음의 실수 -3.14 를 i 에 대입
>>> i = 3.14 # 양의 정수 3.14 를 i 에 대입
>>> type(3.14)
<class 'float'>
>>> type(-1.414)
<class 'float'>
>>>
8진수와 16진수
8진수(Octal)를 만들기 위해서는 숫자가 0o 또는 0O(숫자 0 + 알파벳 소문자 o 또는 대문자 O)로 시작하면 됩니다.
>>> i = 0o155
16진수(Hexadecimal)를 만들기 위해서는 0x로 시작하면 됩니다.
>>> i = 0x8fe
>>> i = 0xCBC
8진수나 16진수는 파이썬에서 잘 사용하지 않는 형태의 숫자 자료형이니 간단히 눈으로 익히고 넘어갑시다.
사칙연산 같은 연산은 문자형을 다 배운 다음 배우도록 합시다.
오늘 전체 강의는 문법 강의 여서 지루했을 겁니다.
그래도 알아야 할 부분이니 참고 공부를 하시기 바랍니다.
bool
bool 자료형이란 참(True)과 거짓(False)을 나타내는 자료형입니다.
bool 자료형은 다음 2가지 값만을 가질 수 있습니다.
-
True - 참
-
False - 거짓
※ True나 False는 파이썬의 예약어로 true, false와 같이 사용하지 말고 첫 문자를 항상 대문자로 사용해야 합니다.
파이썬 1을 참으로 0을 거짓으로 판단합니다. 그런데 이렇게 사용하면 사람이 알기가 쉽지 않으므로 참을 True, 거짓을 False 라고 만든 것입니다.
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
>>>
다음과 같이 변수 a에는 True를, 변수 b에는 False를 지정해 봅시다.
>>> a = True
>>> b = False
따옴표로 감싸지 않은 문자열을 변수에 지정해서 오류가 발생할 것 같지만 잘 실행됩니다.
문자열은 다음 강의에 진행하는데 그 강의를 본 다음 다시 이 강의를 훑어 보아도 좋습니다.
type 함수를 변수 a와 b에 사용하면 두 변수의 자료형이 bool로 지정된 것을 확인할 수 있습니다.
>>> type(a)
<class 'bool'>
>>> type(b)
<class 'bool'>
아래 내용들은 연산에 해당하므로 지금은 살짝 맛보기로 하겠습니다.
bool 의 이해를 돕기 위해 준비한 내용이므로 보기만 하고 넘어가고 연산을 할 때 확실히 이해하도록 합시다.
>>> 1 == 1
True
1 == 1 은 "1과 1이 같은가?"를 묻는 조건문인데 결과로 True 또는 False에 해당되는 bool 자료형을 돌려줍니다. 1과 1은 같으므로 True를 돌려줍니다.
조건문은 if 같은 것을 말합니다. if 강의에서 배우게 됩니다.
>>> 2 > 1
True
2는 1보다 크기 때문에 `2 > 1` 조건문은 True를 돌려줍니다.
>>> 2 < 1
False
2는 1보다 작지 않기 때문에 `2 < 1` 조건문은 False를 돌려줍니다.
'Python > 닭치고 Algorithm' 카테고리의 다른 글
9강 for문(Python Algorithm 9 for) (2) | 2020.03.22 |
---|---|
8강 자료형-문자열(Python Algorithm 8 Data Type-String) (0) | 2020.03.20 |
6강 재귀호출 팩토리얼2(Python Algorithm 6 Factorial2) (0) | 2020.03.01 |
5강 재귀호출 팩토리얼(Python Algorithm 5 Factorial) (0) | 2020.03.01 |
4강 두 스크린을 한개의 스크린으로 사용하기(Python Algorithm 4 HDMI Cable) (0) | 2020.03.01 |
댓글