끄적이는 기록일지

[컴퓨팅 & 파이썬] 3. 코드의 기초 - (2)변수와 데이터 타입 본문

파이썬(ICDL) 정리

[컴퓨팅 & 파이썬] 3. 코드의 기초 - (2)변수와 데이터 타입

시시나브로 2021. 8. 4. 23:05
728x90
 

[컴퓨팅 & 파이썬] 3. 코드의 기초

[컴퓨팅 & 파이썬] 2. 컴퓨팅 사고 - (2)알고리즘 기술 1. 순차(Sequence) 1) 알고리즘 : 컴퓨터가 수행해야 할 과정들을 차례대로 기술한 것.(문제 해결을 위한 단계적 형식의 체계적인 명령어 모음) 2)

kcy51156.tistory.com

 

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)

변수에 True나 False를 저장할 수도 있음
Bool값을 알고 싶으면 bool()함수를 사용

 

4. 문자열 자료형

1) 문자열은 문자들의 모임을 말함. 문자열 자료형은 str.

2) 문자형 양쪽에 ‘ ’이나  “ ”를 붙임

3) 문자열이 한 줄을 넘어갈 때는 \ 를 사용

4) 문자열이 여러 줄로 이루어진 경우는 작은 따옴표 3(’’’) 나 큰따옴표 3(”””)를 사용

\n은 엔터키를 의미함

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)

- 첫 번째 참조된 객체를 복사하지만 그 하위의 객체를 참조 복사

- copyimport 하고, 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() 십진수 이진수

 

1A를 16진수로, 15를 8진수로, 0101을 2진수로 변환

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. 다음 프로그램에서 “# 변수 countrystring 데이터 타입의 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

728x90
Comments