1. Reserved Words & Built-in Functions & Methods
예약어 (Reserved Words)
: 파이썬에서 이미 문법적인 용도로 사용을 하고 있기 때문에 변수 등의 식별자로 사용할 수 없는 단어들을 의미한다.
- 일종의 문법적인 요소
- 괄호를 쓰지 않음
- 재정의 불가능
- 파이썬의 기본 모듈 중 하나인 keyword 모듈을 import 해서 확인 가능
- 예시) del , if...else... , assert
import keyword
print(keyword.kwlist)
#outputs
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
내장함수 (Bulit-in Functions)
: 파이썬에서 자주 사용되는 함수를 내장함수라는 이름으로 기본적으로 재공한다.
- 기본 정의된 함수
- 별개의 함수 사용
- 재정의 가능 & 편의성 향상
- 예시) len() , sum() , range()
https://docs.python.org/ko/3.10/library/functions.html
메소드 (Methods)
- 객체 내의 정의된 함수
- .method() → 접근 객체와 연관되어 사용한다.
- Overriding
- 예시) .append() , .insert() , .extend()
2. List & Tuple
List
- python list는 동적배열로 구현됨
- 가변 타입(Mutuable Data Type) → In-place 연산
Tuple
- 불변 타입 리스트(Immutable List)
- 선언시 ()를 활용하며, 문맥에 따라 생략 가능하다.
- 리스트의 연산, 인덱싱, 슬라이싱을 동일하게 사용한다.
- 불변 타입이기에 수정은 불가능하다
- Tuple은 불변 타입이지만 Tuple 안의 요소는 가변 타입일 수도 있음
- 문자열 타입 (str)의 경우 일종의 문자 tuple로 생각 가능 → slicing 및 indexing 가능
In-place , Out-place 연산이란?
Inplace 연산이란, 연산에 대한 결괏값을 새로운 변수에 저장하는 것이 아닌 기존 데이터를 대체하는 것을 말한다.
그럼 반대로 Outplace 연산은 연산에 대한 결괏값을 새로운 변수에 저장하는 것을 말한다.
3. Packing & Unpacking
print함수는 출력하고자 하는 인자가 몇 개든 상관하지 않고 출력해준다.
함수가 받을 인자의 개수를 정해놓지 않았을 때 (가변인자), 입력받은 인자들을 어떻게 관리할까?
이 때 바로 packing이라는 개념을 활용한다.
가변인자 패킹은 * 한 개를 매개변수 앞에 붙여서 사용하며, 키워드 인자에 패킹은 ** 을 붙여서 사용할 수 있다.
키워드 인자는 패킹한 인자들을 키워드와 인자 쌍으로 이루어진 딕셔너리로 관리한다.
- 패킹(Packing) : 여러개의 객체를 하나의 객체로 합치기
- ex) t = 1,2,3,4,5
- 언패킹(Unpacking) : 여러개의 객체를 포함하고 있는 하나의 객체를 풀어주기
- 언패킹 할 때 매칭이 안된 값들을 하나의 리스트로 묶을 수 있다. (무조건 리스트 형태로 부여받음)
- ex) a,b,c,d, e = t
def personal_info(**kwargs) :
for kw , arg in kwargs.items() :
print(kw , ':' , arg , sep ='')
y = {'name': '홍길동', 'age': 30, 'address': '서울시 용산구 이촌동'}
personal_info(**y)
#output
name:홍길동
age:30
address:서울시 용산구 이촌동
4. Dictionary & Set
Dictionary : 일종의 매핑을 위한 데이터 구조
- key : value 형태로 구현
- key는 불변타입으로만 이루어져 있다. → 정확히는 Hashable 할 경우 key로 사용 가능
- {key1 : value1 , key2 : value2 , key3 : value3, ...} 형태로 선언
Dictionary는 Hash로 구현 : indexing 속도가 O(1)
Set (집합) : Dictionary의 key만 모여 있는 형태
수학적 집합 연산자
- 교집합 (A ∩ B)
- a & b
- a.intersection(a,b)
- 합집합 (A U B)
- a | b
- set.union(a,b)
- 차집합(A - B)
- a - b
- set.difference(a,b)
- 배타적 집합(B - A) :
- a ^ b
- set.symmetric_difference(a,b)
https://dojang.io/mod/page/view.php?id=2315
'STUDY > Python' 카테고리의 다른 글
[Python] Pythonic Programming (0) | 2024.05.03 |
---|---|
[Python] Condition & Loop (0) | 2024.05.02 |
[python] 리스트에서 원하는 위치 요소 제거 (0) | 2024.04.02 |
[Python] File I/O (절대경로, 상대경로) (0) | 2024.04.01 |
[Python] Call by Assignment (0) | 2024.03.29 |