03 데이터 타입
데이터 타입 (Data Type)
오늘은 가장 기본 데이터 타입에 대해서 RA보ZA!
데이터 타입은 다음과 같이 4가지 종류가 있다.
데이터 타입
1. 숫자형
2. 논리형
3. None
4. 문자형
그러면 이제 각각 데이터 타입에 대해서 자세히 알아보자Go!
아 근데 시작전에 공지사항이 있다.아직 귀찮아서 바빠서 티스토리에서 코드 돌릴 수 있는 확장 프로그램을 안 깜!
그래서 이글을 보고있는 코린이 유치원 생이 있다면직접 따라치고 코드 돌려보아RA.직접 써봐야 압니다. 진짜요. 절대 귀찮아서 확장 프로그램 설치 안한거 아니구요.
01 숫자형 (Numeric)
숫자형은 정수(int)와 실수(float)형으로 나뉨
- 정수: 1, 2, 3, -2, -5, 0
- 실수: 10.5, 95.7, 3.14
⚠ 만약에 내가 쓴 숫자가 무슨 type인지 궁금하다면 type함수를 사용해보세요 ⚠
근데 우리가 숫자를 그 숫자 그대로 쓸일은 없다. (그럴거면 컴퓨터 왜써효?)
이 숫자랑 활용할 수 있도록 해주는 연산자(사용할 수 있는 기호)에 대해서 배워서 제대로 파이썬을 사용해 봅시다.
연산자(Operator) | 설명 | 사용 방법 |
+ | 더하기 | print(3 + 2) |
- | 빼기 | print(3 - 2) |
* | 곱하기 | print(3 * 2) |
** | 제곱 | print(2 ** 3) |
/ | 나누기 | print(3 / 2) |
// | 나누기 몫 | print(5 / 3) |
% | 나머지 | print(5 / 3) |
곱하기 두번하면 제!곱!
나누기 두번 하면 나머지 버리고 몫만 챙기기!
%는 몫은 버리고 나머지만 갖는 그런 밥오 같은 연산자다
하지만 의외로 %는 연습 문제에 자주 출연 하는데......?바로 배수 구하는 문제에서, %를 사용했을 때 나머지가 0이면 배수고, 0이 아니라면 배수가 아니기 때문이다(유윌씨).
# 3의 배수인 수를 구하세요.
print(27 % 3)
print(28 % 3)
02 논리형 (Bool)
논리형, 논리라니 뭔가 벌써 부터 싫다. 나도 처음 배울때 논리형이 괜시리 싫고 정이 안가고 이해가 안가더라.
하지만 별거 아니다. 논리형은 참과 거짓, 0과 1 밖에 모르는 그런 단순한 아이일 뿐이다
무튼 그런 지겨운 아이기 때문에 그냥 우린 여기서 지금 뽀개고 갼댜!
논리형은 말한 것 처럼 True와 False 즉, 참과 거짓을 표현 하는 값이다.
여기서 코린이에겐 True라는 값을 코딩천재에겐 False라는 값을 부여해주었다.
코린이 = True
코딩천재 = False
이렇게 직접 값을 부여 하는 것 말고, 우리가 어떤짓을 해야 bool 값을 얻을 수 있습니까? 눈치 ㅃㅏ르면 바로 알 수 있다.
바로 bool 함수를 사용해보자. bool(값)이렇게 사용해 봅시다!
bool(0)
bool('')
bool(None)
이걸 복붙해서 사용해보면 모두 False로 나올 것이다. 뭐야 왜 얘넨 False 예요? 0과 공문자열, None은 False이다.
하지만, 다른 숫자나 문자를 넣어주면 모두 True로 나온다.
근데 설마 이렇게만 쓸라고 bool이란 함수를 만들지 않았을 것 같다. 귀도형이 그럴리가 없잖아? 🤦🏻
bool에도 연산자를 활용해서 요 True와 False를 아주 요긴하게 사용해 볼 수 있다. 일단 연산자 부터 배운다.
비교연산자: 두 값(모든 타입 비교 가능)을 비교 후 그 결과를 논리형으로 반환
연산자(Operator) | 설명 | 사용 방법 |
== | 같다 | print(3 == 2), print('abc' == 'ab') |
!= | 같지 않다 | print(3 != 2) |
> | 크다 | print(3 > 2) |
>= | 크거나 같다 | print(2 >= 3) |
< | 작다 | print(3 < 2) |
<= | 작거나 같다 | print(3 <= 5) |
같지 않다는 ≠ 이 기호가 키보드에 없으니 저렇게 분리했다 생각하면 이해하시면 될 것 같다는 개인적인 생각
논리연산자: 논리형 값을 연산해서 결과를 논리형 값으로 리턴
연산자(Operator) | 설명 | 사용 방법 |
& (and) | 두 값이 True이면 결과 True | True & False, True and False |
| (or) | 두 값이 모두 False 이면 False 나머진 True | False | False, False or False |
^ (xor) | 두 값이 다를 경우 True 같으면 False | True ^ True |
not | 반대로 부정 (True -> False, False -> True) |
not True, not(True) |
조건연산자: 조건이 True이거나 False 이냐에 따라 결과 값을 반환하는 연산자
조건연산자는 이런 느낌슨. 너 지금 집올거면 햄버거 사오고, 아니면 사오지마. 이런말을 우린 자주 할것이다(나만인가?)
if 너 지금 집 올거면 -> 햄버거 사와
else -> 사오지마
이런것이다. 조건을 걸어서 그 조건이 성립되서 True or 성립되지 않아서 False 냐에 따라 행동을 정해 줄 수 있다.
우리는 처음으로 응용을 해봅니다.
🙋🏻 우리는 두 숫자를 비교해서, 큰 숫자를 반환하는 프로그램을 만들 것이다. 이럴 때 if와 else를 사용한다.
다짜고짜 a와 b를 쓰면 python에서 define 안되었다고 난리난리 치니깐 아까부터 우려먹는 숫자를 각 변수에 값으로 부여해주자.
그러고 다음과 같이 행동1 if 조건식 else 행동2 적어준다 공식을. 이것은 외워라 공식.
ex) 햄버거 사와 if 지금 집 오면 else 사오지마
a = 2
b = 3
a if a > b else b # 3
03 None
아무 것도 없음을 나타난다. 無
04 문자형 (string)
드디어 스트링! 난 4가지 변수 중에 스트링이 좋더라구(지극한 개취)
우선 아래를 정!독해boza.
# 1. 문자열은 '' or "" 로 감싸준다(안 그럼 error)
name = "코린이"
phrase = "Hello World!"
# 2. 여러 문자열을 써서 엔터가 들어갈 경우 ''' 또는 """으로 감싼다(안 감싸고 엔터치면 error)
python = """와 역시 귀도 반 로섬 선배님!
완전 컴퓨터 언어 판도를 뒤집어 놓으셨다.
진짜! 최고의 천재! 화이띵!"""
# 3. 다른 타입의 데이터를 문자열로 바꿀 때
age = str(24)
age = "내나이:" + str(24)
print(age) # 내나이:24
그리고 의문점을 풀!어!boza
1-1. 숫자는 '' or "" 안써도 되냐고? 안써도 된다. 문자만 '' or ""로 감싸줘야 한다.
1-2 근데 name 이나 phrase는 왜 안감싸냐구? 걔네는 변수라서 안 감싸도 된다. 이 규칙은 값에 적용되는 규칙
2. ''' or """ 로 안 감싸고 그냥 엔터치면 안돼요? 해보아라. 오류가 난다.
3. 진짜 24살 이예요? 숫자를 문자로 왜 바꾸는데요? 코드 쓰다보면 숫자 + 문자 합쳐 주고 싶을 때 짱 많음.
근데 숫자 + 문자 얘네는 type 달라서 typeerror남! 고럴때 숫자도 문자로 바꿔준다.
Escape 문자:
- 키보드에 있지만 글자로 표현할 수 없는 문자를 표현하기 위한 문자
- 사용하는 문자가 원래 의미에서 벗어나(escape) 다른 의미로 쓰인다고 해서 escape 문자라고 함
- 파이썬 뿐 아니라 모든 언어에서 사용하는 공통 표준
- 구분하기 위해 \를 붙임
Escape 문자 | 설명 |
\b | back space |
\t | tap |
\n | enter(은근 사용할일 많음 주의) |
\\ | \(진짜로 \ 쓰곳 ㅣㅍ을 때) |
\' | 작은 따옴표. 문자열 감싸는 작은 따옴표 구별 |
\" | 큰 따옴표. 문자열 감싸는 큰 따옴표와 구별 |
\r | Carriage return(커서를 맨 앞으로 이동) |
이해를 돕기 위해 몇가지 예시를 봐볼게요?
\ = \, 자판에서 백슬래쉬를 \ 로 표기해뒀기 때문에 엔터 위에 있는 \ 표시 입력해주면 그 아이가 \
(참고루 # 옆에 쓴게 출력결과)
print('abc\bd') # abd
print('abc\tdef') # abc def
print('a\\a\\a') # a\a\a
print('C:\\Windows\\System\\cmd.exe') # C:\Windows\System\cmd.exe
오늘은 4가지 데이터 타입
숫자형, bool, None, 문자열에 대해서 RA 보았습니다~🙋🏻
분량의 공.평.성을 위해서
문자열 활용편은 다음에 이어서 다뤄볼게요-
헬로우 스마트 세상!