티스토리 뷰
Python을 배우는 이유?
-컴퓨터의 CPU, RAM, SSD(HDD) 자원을 활용하기 위한 방법으로 프로그래밍을 함.
-프로그램 언어의 종류에는 컴파일러 언어와 인터프리터 언어가 있음.
1. 컴파일러 언어
: 코드를 실행하기 위해 컴파일 시간이 필요한 언어로 JAVA 등이 이에 속함. 속도가 빠름.
2. 인터프리터 언어
: 컴파일 시간이 따로 필요 없으나, 속도가 느리고 문법이 쉬움. Python, java script 등이 이에 속함.
변수 선언
- RAM에 저장공간을 만들어 데이터를 저장하는 문법
- 식별자 : 저장공간을 구별해주는 문자열
* 식별자의 규칙
1. 문법 : 틀리면 에러 발생 → 코드 실행 불가
- 사용 가능한 문자 : 대소문자 알파벳, 숫자, _
- 가장 앞에는 숫자가 올 수 없음. ex) data_1(가능) 1_data(불가능)
- 명령어(예약어) 사용 불가능. ex) def, if, for (불가능) print(가능)
2. 컨벤션 : 틀려도 코드 실행은 됨 → 보기에 좋지 않음.
- 변수 : 소문자로 작성(snake_case)
- 상수 : 대문자로 작성
* 변수 선언하기
1) | 식별자 1개, 데이터 1개 | data1 = 1 |
2) | 식별자 n개, 데이터 n개 | data2, data3 = 2, 3 |
3) | 식별자 n개, 데이터 1개 | data4 = data5 = 4 |
4) | 식별자 1개, 데이터 n개 | 컬렉션 데이터 타입 |
데이터 타입
- RAM을 효율적으로 사용하는 문법
- 기본 데이터 타입과 컬렉션 데이터 타입이 있음.
기본 데이터 타입 | 컬렉션 데이터 타입 | |
종류 | int, float, bool, str | list, tuple, dict, set |
* type( ) : 식별자의 데이터 타입을 출력해줌.
* 기본 데이터 타입
- int (*정수)
- float (*실수)
- bool (*논리값 : True / False)
- str (*문자열)
=> 동적 타이핑 : 변수 선언 시 데이터 타입을 지정하지 않아도 자동으로 데이터 타입이 지정됨. (인터프리터 언어만)
- 인터프리터 언어 : data1 = 10
- 컴파일러 언어 : int data1 = 10
* 컬렉션 데이터 타입
- list[ ]
- tuple( )
- dict{ }
- set( )
list[ ] | tuple( ) | dict{ } | set( ) | |
순서 | O (read 가능) |
O (read 가능) |
X (key를 활용하여 read 가능) |
X |
수정가능성 | O (update, delete) |
X | O (update, delete) |
X |
중복값 허용 | O | O | O | X |
※ 컬렉션 데이터 타입의 CRUD
더보기
- Creat
list[ ] | tuple( ) | dict{ } | set( ) |
- Read (masking) ( 형식 : data[ ] )
-read 가능한 데이터 타입 : list, tuple, dict, str
종류 | 예시 | 출력 | 사용 가능한 타입 |
[idx] | data1 = [1,2,3,4] data1[2] |
3 | list, tuple, str |
data2 = 'wedding anniversary' data2[3] |
d | ||
[key] | data3 = { 'one' : 1, 'two' : 2, 'three' : 3} data3['one'] |
1 | dict |
[start:end] | data4 = [1,2,3,4,5,6,7] data4[0:3] data4[:] |
[1,2,3] [1,2,3,4,5,6,7] |
list, tuple, str |
data2 = 'wedding anniversary' data2[11:14] |
'ive' | ||
[start:end: stride] |
data2 = 'wedding anniversary' data2[0:14:3] |
'wdgnv' | list, tuple, str |
- Update
-update 가능한 데이터 타입 : list, dict
예시 | 출력 | |
list | data1 = [1,2,3,4] data1[3] = 'four' data1 |
[1, 2, 3, 'four'] |
dict | data3 = { 'one' : 1, 'two' : 2, 'three' : 3} data3['one'] = '일' data3 |
{'one': '일', 'two': 2, 'three': 3} |
- Delete
-delete 가능한 데이터 타입 : list, dict
예시 | 출력 | |
list | data1 = [1,2,3,4] del data1[1:2] data1 |
[1, 4] |
dict | data3 = { 'one' : 1, 'two' : 2, 'three' : 3} del data3['one'] data3 |
{'two': 2, 'three': 3} |
변수의 속성값을 출력하는 함수
- print( ) : 변수의 데이터값 출력
- type( ) : 변수의 데이터 타입 출력
- sys.getsizeof( ) : 변수의 데이터 크기 출력
- id( ) : 변수의 주소값 출력
* 얕은 복사와 깊은 복사
- 얕은 복사
예시 | 출력 | 해석 |
data1 = [1,2,3] data2 = data1 print(data1, data2) data1[1] = 3 print(data1, data2) |
[1, 2, 3] [1, 2, 3] [1, 3, 3] [1, 3, 3] |
식별자의 주소값을 복사하여 같은 내용물을 갖게 됨. 따라서 한 식별자의 값을 바꾸면 같은 주소값을 가진 식별자의 값도 같이 변하게 됨. |
2. 깊은 복사
예시 | 출력 | 해석 |
data1 = [1,2,3] data3 = data1.copy( ) print(data1, data3) data1[1] = 3 print(data1, data3) |
[1, 2, 3] [1, 2, 3] [1, 3, 3] [1, 2, 3] |
식별자의 데이터를 복사하여 내용물은 같지만 다른 주소값을 갖게 됨. 따라서 식별자의 값을 바꿔도 다른 식별자의 값에 영향을 끼치지 않음. |
오늘의 후기 : 배웠던 내용을 복습 + 심화하는 느낌이었어서 재미있게 강의를 듣고 쉽게 이해함.
'TIL & WIL > Python' 카테고리의 다른 글
Python 4일차. 클래스(class), 상속, 데코레이터(decorator) (0) | 2023.01.05 |
---|---|
Python 3일차. 함수(function) (0) | 2023.01.04 |
Python 2일차. 연산자와 조건문, 반복문 (0) | 2023.01.03 |
1주차 WIL : 데이터 추가/삭제, continue, 별찍기 (0) | 2022.12.23 |
1주차 WIL : 데이터 상자, random, for, while, if (0) | 2022.12.23 |