일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 경사하강법
- 데이터 분리
- 명목형
- 스케이링
- 알고리즘 기술
- LinearRegression 모델
- 딥러닝 역사
- 불순도
- 머신러닝 과정
- 결측값 처리
- 수치형 자료
- 분류 머신러닝 모델
- 이상치 처리
- 지도학습
- 데이터 전 처리
- 다중선형 회귀
- 가중치 업데이트
- 수치 맵핑 기법
- 더미 기법
- 학습용데이터
- 지니 불순도
- 평가용 데이터
- 회귀 알고리즘 평가
- ICDL 파이썬
- 웹 크롤링
- 항공지연
- 뉴런 신경망
- 퍼셉트론
- 지도학습 분류
- MSEE
- Today
- Total
끄적이는 기록일지
[컴퓨팅 & 파이썬] 3. 코드의 기초 - (2)변수와 데이터 타입 본문
1. 변수
- 데이터를 저장하는 메모리 내의 공간(placeholder)을 이름 지은 것
- 숫자, 문자, 문자열, 리스트 등 다양한 종류의 데이터를 저장할 수 있음
1) 변수 정의 및 초기화
- 프로그램 작성 시 적절한 변수 이름과 그에 맞는 타입을 정의하고, 초기 값을 저장한다.
2) 변수와 데이터 타입
- 파이썬은 변수에 저장되는 값의 종류에 따라 변수의 자료형(data type)이 결정
구분 | 자료형 | 설명 | 예 |
숫자 | int | 정수 | 3 |
float | 실수 | 3.14 | |
complex | 복소수 | 3 + 4j | |
논리 | bool | 참 또는 거짓 | True, False |
문자열 | str | 문자열(유니코드) | 'World' |
bytes | 문자열(0~255 범위의 문자) | b'korea' | |
자료의 집합 | list | 순서O, 값 변경O | ['one', 'two', 'three'] |
Tuple | 순서O, 값 변경X | ['sum', ''mon, 'tue'] | |
dict | 순서X, 키와 값의 쌍으로 이루어짐 | {'sun':1, 'mon':3, 'tue':7} | |
set | 순서X, 중복X, 값 변경O | {2, 2.4, 'sun', (1,2,3)} |
* 변수의 자료형을 확인할 땐 type(변수)를 사용한다.
2. 숫자 자료형
1) 정수는 소수점X, 실수는 소수점O.
2) 정수의 자료형 : int, 실수의 자료형 : float이다.
3) 파이썬은 메모리가 허용하는 범위에서 매우 큰 정수를 다를 수 있다.
4) 변수에 자료형과 값을 함께 지정할 수 있다.
변수 = 자료형(값)
3. 논리 자료형
논리 자료형 : bool, 결과는 참(True) 또는 거짓(Flse)
4. 문자열 자료형
1) 문자열은 문자들의 모임을 말함. 문자열 자료형은 str.
2) 문자형 양쪽에 ‘ ’이나 “ ”를 붙임
3) 문자열이 한 줄을 넘어갈 때는 \ 를 사용
4) 문자열이 여러 줄로 이루어진 경우는 작은 따옴표 3개(’’’) 나 큰따옴표 3개(”””)를 사용
5) ‘\n’ 이외에 키보드로 표현하기 힘든 특수 문자
문자 | 설명 | 문자 | 설명 |
\\ | \문자 | \n | 줄바꿈 |
\' | 작은따옴표 | \t | 탭 |
\" | 큰따옴표 | \Onn | 8진수 nn |
\b | 백스페이스 | \xXX | 16진수 XX |
5. 리스트 자료형
리스트[인덱스]
1) 리스트는 다양한 자료형의 여러 데이터를 저장함
2) 리스트의 자료형은 list
3) 대괄호[ ] 안에 쉽표로 구분
4) 데이터 순서가 유지되고 데이터 변경이 가능
5) 첫번째 원소의 인덱스는 0
실습문제) 다음 프로그램의 fruits 라는 리스트 변수에 3개의 과일 이름 “apple, grape, banana”를 저장하도록 코드를 삽입하시오.
6. 듀플 자료형
1) 튜플은 다양한 자료형의 여러 데이터를 저장할 수 있음
2) 튜플 자료형은 tuple
3) 소괄호( ) 안에 데이터를 나열
4) 데이터는 순서가 유지됨
5) 리스트와 달리 각 데이터의 변경이 불가능
연습문제) 다음 프로그램의 oddTuple 이라는 튜플 변수에 5개의 숫자 1,3,5,7,9를 저장하도록 코드를
완성하시오.
7. 딕셔너리 자료형
1) 딕셔너리는 다양한 자료형의 여러 데이터를 자장할 수 있는 자료형
2) 딕셔너리의 자료형은 dict
3) 중괄호{ }안에 키(key)와 값의 쌍으로 데이터를 열거
4) 데이터는 순서가 없음
5) 각 데이터 원소 값 변경은 가능
딕셔너리변수[키]
8. 집합 자료형
1) 집합은 다양한 자료형의 여러 데이터를 저장할 수 있는 자료형
2) 자료형은 set
3) 중괄호 { } 안에 데이터를 열거 함
4) 데이터는 순서가 없고 중복도 없음
5) 데이터 추가/제거 가능, 인덱싱을 사용한 임의 원소로 접근 불가능
9. 객체 복사와 형 변환
- 객체 복사 방법 : ① 객체의 참조를 복사, ② 객체 자신을 복사(얕은 복사, 깊은 복사)
1)참조 복사(reference)
- 대입문에 의해 흔히 발생 – 참조 복사가 이루어지며, 복사본은 원본의 객체와 동일한 객체를 복사하는 것이 아니라 원본의 참조만 복사
- 원본 객체의 값이 바뀌면 복사본의 값도 바뀜
2) 얕은 복사(shallow copy)
- 첫 번째 참조된 객체를 복사하지만 그 하위의 객체를 참조 복사
- copy를 import 하고, copy.copy() 함수를 사용
3) 깊은 복사(deep copy)
- 참조된 모든 객체를 복사
- copy.deepcopy() 함수를 사용
- 원본 객체의 값이 바뀌어도 복사본의 값은 바뀌지 않음
4) 형 변환(type)
- 형 변환은 내장 함수를 사용하는 것이 편리
함수 | 의미 |
int() | 정수형으로 변환, 변환할 수 없으면 오류발생. |
float() | 실수형으로 변환 |
complex() | 복소수형으로 변환 |
5) 진수 변환
- 임의의 진수에서 10진수로 변환하거나, 10진수에서 16/8/2 진수로 변환할 때는 다음 함수를 사용
함수 | 의미 |
int(x, base) | base의 수 x → 십진수 |
xex() | 십진수 → 16진수 |
oct() | 십진수 → 8진수 |
bin() | 십진수 → 이진수 |
6) 시퀀스 자료형의 변환
- 시퀀스 자료형들 간의 변환에는 자료형과 같은 이름의 내장함수를 사용
함수 | 의미 |
list(x) | x → list |
tuple(x) | x → tuple |
dict(zip(key, value)) | key와 value를 dict로 변환 |
str(x) | x → 문자열 |
chr(x) | 유니코드 → 문자 |
ord(x) | 문자 → 유니코드 |
7) 파이썬 자료형의 이진 변환
- 파이썬 자료형을 이진 바이트 열로 변환하거나, 반대로 변환할 때는pack()함수나 uppack() 함수를 사용
함수 | 의미 |
pack(format, a1, a2, ...) | 인자 a1, a2, ...를 format에 따라 바이트열로 변환 |
unpack(format, buffer) | 인자 buffer를 format에 따라 변환하고 튜플로 변환 |
Format | C Type | Python type | Standard size |
c | char | bytes of length 1 | 1 |
? | _Bool | bool | 1 |
h | short | integer | 2 |
i | int | integer | 4 |
l | long | integer | 4 |
f | float | float | 4 |
d | double | float | 8 |
s | char[] | bytes | |
p | char[] | bytes |
9. 연습문제
1. 다음 중 두 숫자를 더한 결과를 저장하는 변수이름으로 가장 적절한 것은?
① numberTwo
② total
③ integrated
④ composition
2. 다음 중 사용자의 생일을 저장할 변수 이름으로 가장 적절한 것은?
① myPIN
② myNumber
③ myDate
④ myBirthday
3. 다음 중 어떤 값을 저장할 수 있는 플레이스홀더(placeholder)는 무엇인가?
① float
② loop
③ expression
④ variable
4. 다음 프로그램에서 float 타입의 변수 myHeight에 숫자 179.5가 저장되도록 프로그램을 수정하시오.
myHeight = int(179.5)
# Print out myHeight
print(“My height is: ”, myHeight)
5. 다음 프로그램에서 “# doorOpen 변수 정의 및 초기화” 행 아래에 doorOpen 이라는 부울형 변수를 정의하고, True 로 초기화하는 코드를 삽입하시오.
# doorOpen 변수 정의 및 초기화
# Print out doorOpen
print(doorOpen)
6. 다음 프로그림에서 “# weight 변수에 값 저장” 행 아래에 weight 변수의 값을 72.5로 저장하는 코드를 삽입하시오.
weight = 0.0
# weight 변수에 값 저장
# Print out the variable weight
print(weight)
7. 다음 프로그램에서 myAge 변수에 정수 19가 저장되도록 프로그램 코드를 편집하시오.
myAge = float(19)
# Print out myAge
print(“My age is ”, myAge)
8. 다음 프로그램에서 “# 변수 country에 string 데이터 타입의 Korea 값을 저장한다.” 행 아래에 적절한 코드를 삽입하시오.
# 변수 country에 string 데이터 타입의 Korea 값을 저장한다.
county =
# Print out country
print(“My country is :”, country)
9. 다음 프로그램에서 “# assign value to myMsg” 행 아래에 myMsg 라는 변수의 값을 “Hello World” 로 저장하는 코드를 삽입하시오.
# myMsg 변수에 “Hello World” 문자열을 저장하는 코드를 삽입한다.
myMsg = “Welcome”
# assign value to myMsg
# Print out myMsg
print(myMsg)
10. 다음 프로그램의 fruits 라는 튜플 변수에 3 개의 과일 이름 “apple, grape, banana”를 저장하도록 코드를 삽입하시오.
fruits =
print(“과일 이름 3개: ”, fruits)
11. 다음 프로그램의 numList 라는 리스트 변수에 1부터 5까지의 숫자를 저장하는 코드를 삽입하시오.
numList =
print(“정수 5 개: ”, numList )
12. 다음 프로그램에서 flag 변수에 부울 데이터 타입 false가 저장되도록 프로그램을 편집하시오.
flag =
# Print out flag
print(“The boolean is :”, flag )
정답 : 2/4/4(변수)/int → float/doorOpen = bool(True)/weight = 72.5/float → int/'korea'/myMSG = "Hello World"/('apple', 'grape', 'banana')/[1, 2, 3, 4, 5]/False
'파이썬(ICDL) 정리' 카테고리의 다른 글
[파이썬(ICDL) 정리] - [컴퓨팅 & 파이썬] 3. 코드의 기초 - (4)시퀀스 자료형의 연산 (0) | 2021.08.05 |
---|---|
[파이썬(ICDL) 정리] - [컴퓨팅 & 파이썬] 3. 코드의 기초 - (3)입출력문 (0) | 2021.08.05 |
[컴퓨팅 & 파이썬] 3. 코드의 기초 (0) | 2021.07.24 |
[컴퓨팅 & 파이썬] 2. 컴퓨팅 사고 - (2)알고리즘 기술 (2) | 2021.07.24 |
[컴퓨팅 & 파이썬] 1.2 소프트웨어 생명주기 (0) | 2021.07.08 |