티스토리 뷰
2021.1.13 23:08
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
2021.01.04 (월)
<학습 내용 키워드>
1. 정수_integer: int
2. 실수_float: float
3. None Type
4. 불리언_boolean
5. 튜플과 리스트_tuple, list
6. 문자열_string: str
7. 딕셔너리_dictionary: dict
⭐자료형 확인 방법⭐
number = 3
print(type(number)) # <class 'int'>
type 함수를 활용해 자료의 형태를 알 수 있습니다.
1. 정수_integer: int
우리가 일상생활에서 사용하는 수는 '자연수'입니다. (1,2,3 등등)
정수의 개념은 중등 수학에서 처음 나옵니다.
너무 어렵지 않게 설명하면
0, 1, 2, -2, -3, 5, 56, -56 등 소수점이 없는 숫자라고 생각하면 됩니다.
파이썬에서는 이러한 정수의 형태 자료형을 정수(int)라고 합니다.
2. 실수_float: float
정수는 소수점이 없는 숫자라고 했습니다.
그렇다면 간단하게 생각하면 소수점이 있다면 실수인가? 라고 생각할 수 있습니다.
사실 실수 안에 정수가 포함되어 있습니다.
실수라는 말 자체도 실제로 존재하는 숫자라는 의미입니다.
1도 실수라고 할 수 있고 자연수라고 할 수 있습니다.
하지만 파이썬에서는 아래와 같이 표현됩니다.
사람이 보기에는 같은 1인데 파이썬은 다르게 인식합니다.
one = 1
one_ = 1.0
print(type(one)) # <class 'int'>
print(type(one_)) # <class 'float'>
1이라는 값을 가지는 one의 자료형은 정수(int)이고
1.0이라는 값을 가지는 one_의 자료형은 실수(float)입니다.
이처럼 파이썬에서는 소수점을 가지는 숫자를 실수(float)라고 합니다.
🔥왜 실수를 float라고 하고 같은 1인데 자료형이 다른지?🔥
참고 링크를 통해 이해해보면 더 좋을 것 - velog.io/@thms200/%EB%B6%80%EB%8F%99%EC%86%8C%EC%88%98%EC%A0%90-0.1-0.1-02-jbk5jrde3a
3. None Type
None Type이란 단어를 처음 들었을 때 어떤 느낌이 드나요?
???: 아무 유형도 아닌...가...?
맞습니다. 아무 유형도 아닙니다.
0과 착각하실 수도 있지만 0은 0이라는 값을 가지고 있습니다.
어떤 사람이 0이 적힌 종이를 가지고 있는데 종이를 가져가게 되면 None Type이 되는 것이라고 생각하면 됩니다.
⚡그럼 왜 필요해?⚡
파이썬의 설계 사상을 제 식대로 풀어서 적어보면
'모든 객체에 대해 정의될수록 좋다. 심지어 조금 느리더라도'
(아무것도 없다는 표현은 필요하다)
4. 불리언_boolean
처음 불리언이라는 단어를 들으면 어떤 자료형인지 감이 안 온다.
흠...뭐지??
간단하다!
참/거짓이다! 영어로는 True/False!
print(type(True)) # <class 'bool'>
num_a = 123
num_b = 123
print(num_a == num_b) # True
print(type(num_a == num_b)) # <class 'bool'>
num_c = 56
num_d = 56
print(num_c != num_d) # False
print(type(num_c != num_d)) # <class 'bool'>
파이썬 내부에는 True, Fasle가 내장되어 있다.
True, False의 자료형을 출력해보면 불리언(bool)이 나오게 된다.
⚡참고⚡
두 변수의 비교( == 또는 !=)를 통해 True, False를 알 수 있다.
5. 튜플과 리스트_tuple, list
튜플과 리스트는 비슷한 모양을 가지고 있고 역할도 비슷하다.
하나의 변수에 여러 개의 데이터를 순서대로 나열해 할당한 것이다.
차이점은 튜플은 수정이 불가하고 리스트는 가능하다.
튜플은 소괄호를 이용해 만들 수 있고, 리스트는 대괄호를 이용해 만들 수 있다.
tuple_num = (1,3,5)
list_num = [1,3,5]
print(type(tuple_num)) # <class 'tuple'>
print(type(list_num)) # <class 'list'>
# 내부 인자 수정 시도
# 튜플은 7이라는 새로운 인자 추가 못하지만 리스트는 추가 가능
# 리스트.append(값) 을 이용해 새로운 값을 리스트 맨 뒤에 추가할 수 있다.
tuple_num.append(7) # error
list_num.append(7)
print(list_num) # [1, 3, 5, 7]
⚡인덱싱⚡
튜플과 리스트는 순서가 있는 데이터들의 모음이다. 순서가 있는 만큼 원하는 위치의 값을 불러올 수 있다.
예를 들어 튜플 또는 리스트 내부에 있는 값 중 인자를 가져오고 싶다면 아래처럼 하면 된다.
※ 참고 - 첫 번째 인자는 0번이다!!(매우 중요) 마지막 인자는 -1, -2,... 순으로 할당된다. (아래 그림 참고)
# 참고 - 튜플과 리스트 안에 숫자, 문자를 동시에 사용할 수 있다.
tuple_num = (1,3,5, 'Hello', 1.1)
list_num = [1,3,5, 'Hello', 1.1]
print(tuple_num[0]) # 1
print(list_num[4]) # 1.1
print(list_num[-1]) # 1.1
print(type(tuple_num[0])) # <class 'int'>
print(type(list_num[4])) # <class 'float'>
위에서 배운 튜플과 리스트 차이를 한 번 더 보면 튜플은 내부 인자를 다른 값으로 변경 못하지만 리스트는 가능하다.
아래의 코드는 리스트의 0번째 인자를 바꾼 내용이다.
# 내부 인자 수정 시도
tuple_num = (1,3,5, 'Hello', 1.1)
list_num = [1,3,5, 'Hello', 1.1]
tuple_num[0] = 4 # error
list_num[0] = 4
# 리스트는 0번째 인자가 1 -> 4 변경됨
print(list_num) # [4,3,5, 'Hello', 1.1]
⚡슬라이싱⚡
인덱싱은 튜플과 리스트의 특정 위치를 가리켜서 원하는 인자를 활용하는 것이다.
슬라이싱은 말그대로 인덱싱을 이용해 원하는 구간만큼 자르는 것이다.
tuple_num = (1,3,5, 'Hello', 1.1)
list_num = [1,3,5, 'Hello', 1.1]
print(tuple_num[0:3]) # (1, 3, 5)
print(list_num[:3]) # [1, 3, 5]
print(tuple_num[2:]) # (5, 'Hello', 1.1)
print(list_num[:]) # [1, 3, 5, 'Hello', 1.1]
# 튜플 또는 리스트[a:b:n] 의미: a부터 b까지 n간격만큼 슬라이싱(a와 b가 공백이라면 처음 또는 끝까지라는 의미)
print(tuple_num[1:4:2]) # (3, 'Hello') -> 1번 부터 4번 까지 2개 간격으로 슬라이싱
print(list_num[:4:1]) # [1, 3, 5, 'Hello'] -> 처음부터 4번까지 1개 간격으로 슬라이싱
print(list_num[::2]) # [1, 5, 1.1] -> 처음부터 끝까지 2개 간격으로 슬라이싱
print(list_num[::-1]) # [1.1, 'Hello', 5, 3, 1] -> 처음부터 끝까지 -1개 간격으로 슬라이싱(역정렬)
※참고 - dojang.io/mod/page/view.php?id=2208 의 11.4.4 참고!
6. 문자열_string: str
인간은 문자를 써서 의사소통을 한다.
파이썬에서는 이러한 문자열은 str이라는 자료형을 가진다.
그런데 왜 문자 + 열인가?
바로 문자도 글자 하나하나가 위치값을 가져서 인덱싱 슬라이싱이 가능하다!
text = "Hello World!"
print(type(text)) # <class 'str'>
print(text[0]) # "H"
print(text[:3]) # "Hel"
print(text[::-1]) # "!dlroW ollH"
7. 딕셔너리_dictionary: dict
딕셔너리라는 뜻은 사전이라는 뜻이다.
☕ is 🐴 하나 해보자면...사전 찾을 때 그 두꺼운 페이지를 넘기면서 아..야..어..여...오..요.. 이렇게 찾았는데 말이죠.👻
사전에서 뜻을 찾듯이 어떤 키워드를 알면 숨은 값을 알 수 있는 자료형이 바로 딕셔너리입니다.
좀 더 파이썬에 알맞는 설명은 "키를 이용해 값을 찾아낼 수 있는 자료형" 입니다.
튜플과 리스트와 다른 점은 키가 있다는 점입니다. 그리고 이 키를 이용해서 키에 해당하는 값을 활용할 수 있습니다.
물론 튜플과 리스트도 인덱싱을 통해 숫자를 활용하면 값에 접근할 수 있지만 딕셔너리는 고유의 키가 있기 때문에 인덱싱처럼 원하는 값의 위치값을 몰라도 됩니다.
아래와 같이 인적사항을 기록하면 좋은 자료형입니다.
딕셔너리는 중괄호로 만들 수 있고 딕셔너리 = {'키' : 값} 으로 구성되어 있습니다.
딕셔너리['키'] 를 이용해 값에 접근할 수 있습니다.
# 딕셔너리 생성
dict = {'name' : 'shate',
'age' : 28,
'height' : 179,
'address' : 'AIFFEL' }
# 딕셔너리 자료형 출력
print(type(dict)) # <class 'dict'>
# 딕셔너리 값과 그 값의 자료형 출력
print(dict['name']) # shate
print(type(dict['name'])) # <class 'str'>
# 딕셔너리 값과 그 값의 자료형 출력
print(dict['age']) # 28
print(type(dict['age'])) # <class 'int'>
만약 추가하고 싶은 데이터가 있다면 키에 접근했던 방식과 동일하게 하면 된다. (아래 코드 참고)
dict['sex'] = 'male'
print(dict) # {'name': 'shate', 'age': 28, 'height': 179, 'address': 'AIFFEL', 'sex': 'male'}
'교육 > AIFFEL(대전)1기' 카테고리의 다른 글
AIFFEL(대전) [AIFFEL LIFE] 1장 1주차를 지나오며 (0) | 2022.02.20 |
---|---|
AIFFEL(대전) [AIFFEL LIFE] 시작 (2) | 2022.02.20 |
AIFFEL(대전) [Fundamental] 3-2 파이썬(Python) 제어문(if, while, for) (0) | 2022.02.17 |
AIFFEL(대전) [Fundamental] 3-1 파이썬(Python) 변수와 함수 그리고 반환(return) (0) | 2022.02.17 |
[E08] CSR Matrix (0) | 2022.02.17 |
- Total
- Today
- Yesterday
- IT
- 자율주행기술
- AIFFEL
- 아이펠
- 해커톤
- 광주인공지능사관학교
- SLAM강의
- Python
- AIFFEL인공지능과정
- 인공지능
- 실내자율주행
- 배달로봇
- ros
- 모두의연구소
- 멋쟁이사자처럼
- AIFFEL후기
- 서빙로봇
- AIFFEL교육
- 양정연SLAM
- 광주AI
- 멘탈관리
- 광주
- 인공지능교육
- 인공지능 교육
- 도전
- 대전 인공지능
- Slam
- 모두의 연구소
- SLAM공부
- 자율주행로봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |