본문 바로가기

반응형

진리는어디에/Python

(60)
[Python] 함수 #4 파라미터 패킹 이번 강의에서는 파이썬 함수 인자(parameter)의 개수를 유연하게 지정 할 수 있는(가변 인자) 파라미터 패킹(parameter packing)에 대해 살펴 보도록 하겠다. 목차 함수 소개 디폴트 파라미터 주의 사항 파라미터 언패킹 >> 파라미터 패킹 함수 객체 일급 객체(first class object) 람다(lambda) 파라미터 패킹 파이썬에서 파라미터 패킹(parameter packing)이란 고정되지 않은 여러개의 인자를 하나의 시퀀스 객체로 묶어 함수에게 전달하는 것을 말한다. 고정되지 않은 여러개의 인자(parameter)를 묶은 하나의 시퀀스 인자 바꿔 말하면 파라미터 패킹을 통해 '가변 인자 함수'가 가능하다는 것이다. 우리가 자주 써왔던 print표준 함수가 좋은 파라미터 패킹과..
[Python] 함수 #3 파라미터 언패킹 이번에 살펴볼 파라미터 패킹과 언패킹은 포스트가 길어져 두 장에 나뉘어 작성 되었다. 이번 포스트에서는 언패킹에 대해 알아보고, 바로 이어지는 다음 포스트에서 패킹에 대해 같이 알아보도록 하겠다. 목차 함수 소개 디폴트 파라미터 주의 사항 >> 파라미터 언패킹 파라미터 패킹 함수 객체 일급 객체(first class object) 람다(lambda) 파라미터 언팩(unpack) 파라메터 언패킹(unpacking)이란 시퀀스 객체(list, tuple, set, dictionary)가 함수의 인자로 넘겨지는 경우, 시퀀스 객체의 각 요소들을 개별 변수로 풀어서, 각각의 변수로 함수의 인자로 전달하는 기능을 말한다. 글로 설명하면 설명이 어려우니 빠르게 예제 중심으로 설명하도록 한다. 언패킹이란? "시퀀스 ..
[Python] 함수 #1 소개 이번 포스트 부터 몇 장에 걸쳐 파이썬 함수에 대해서 다룬다. 먼저 본 포스트에서는 파이썬 함수의 기본 문법에 대해 빠르게 살펴 본 다음, 파이썬 함수의 인자 전달 방법을 알아본다. 파이썬 함수에 대해 기본 사항을 파악하고 난 후 다음 포스트 부터 파라미터 패킹/언패킹, 데코레이터들을 이어서 살펴 보도록하겠다. 목차 >> 함수 소개 디폴트 파라미터 주의 사항 파라미터 언패킹 파라미터 패킹 함수 객체 일급 객체(first class object) 람다(lambda) 파이썬 함수의 문법 파이썬 함수는 다음과 같은 형식을 가진다. def 함수명(매개변수 리스트) : 수행할 표현식 수행할 표현식 ... def 키워드는 파이썬에서 함수를 선언 할때 사용 되는 키워드이며, 함수명은 사용자가 임의 지정한다. 함수명 ..
[Python] 시퀀스 자료형 #4 딕셔너리(dict) 이번 강좌에서는 파이썬에 키와 값(key-value)을 같이 저장 할 수 있는 dictionary 시퀀스에 대해 알아 보도록 한다. 목차 리스트(list) 튜플(tuple) 셑(set) >> 딕셔너리(dict) 딕셔너리(Dictionary) 란? "키"와 "값" 형태로 데이터를 저장하는 자료구조. 중복키를 허용하지 않는다. 타입 이름으로 "dict"를 사용한다. 배열 연산자를 통해 요소 접근이 가능하다. 수정이 가능한 mutable 타입이다. 딕셔너리(Dictionary)의 생성 1. 타입 이름 'dict' 사용 # 타입 이름 'dict'를 이용해 생성 d = dict(name = "kim", age = 20, addr = "seoul") print(d) # {'name': 'kim', 'age': 20..
[Python] 시퀀스 자료형 #3 셑(set) 이번 강좌에서는 파이썬에서 수학적 집합 연산을 제공하는 시퀀스인 set에 대해 알아 보도록 하겠다. 목차 리스트(list) 튜플(tuple) >> 셑(set) 딕셔너리(dict) 셑(set) 이란? 파이썬에서 "수학적 집합 연산(교집합, 합집합, 차집합)을 제공하는 시퀀스다. 요소의 중복을 허용하지 않고 순서를 유지하지 않는다 배열 연산자를 통해 요소에 접근 할 수 없다 s3 = set('hello') # set은 중복을 허용하지 않고 순서를 유지하지 않는다 print(s3) # {'e', 'o', 'h', 'l'} print(s3[0]) # 배열 연산자를 통해 요소 접근 불가 셑(set)의 생성 1. 타입 이름 'set' 사용 # set 데이터 타입 이름으로 생성 s1 = set([1, 2, 3]) p..
[Python] enumerate 이번 강좌에서는 파이썬에서 iterable 객체를 순회 할 때 자주 사용되는 enumerate 에 대해 살펴 보겠다. enumerator는 튜플에 대한 개념이 있어야 하므로 혹시 튜플이 낮설다면 [여기]를 한번 살펴 보고 돌아 오면 좋다. enumerate 란? 반복자(iterator) 처럼 동작하는 객체(반복자에 대한 설명은 [여기]에 정리 되어 있다). iterable 객체를 인자로 받아서 생성 순회시 "(index, 요소)" 형태의 튜플(tuple) 객체를 반환 enumerate는 반복자 처럼 동작하는 객체로써 특징으로 각 반복시 요소와 함께 인덱스도 리턴한다. 아래 예제와 같이 리스트를 순회하며 인덱스가 필요한 경우, 인덱스를 저장하기 위해 따로 변수를 선언하는 복잡한 코드 대신 enumerate..
[Python] 시퀀스 자료형 #2 튜플(tuple) 이번 강좌에서는 지난 리스트 강좌에 이어 튜플에 대해 살펴 보도록 하겠다. 이번 강좌를 이해하기 위해서는 mutable 타입과 immutable 타입에 대한 개념이 있어야 한다. mutable, immutable관련 강좌는 다음 링크를 참조 하자. [Python] 파이썬 기초부터 시작하기 - mutable vs immutable 변수 목차 리스트(list) >> 튜플(tuple) 셑(set) 딕셔너리(dict) 튜플(tuple)이란? 튜플은 리스트와 매우 비슷하게 인덱싱, 슬라이싱, +, * 연산등을 지원하지지만, 리스트와는 결정적인 차이가 있다. 리스트는 mutable 자료형이라 삽입과 삭제, 요소 업데이트와 같은 수정 연산이 가능하지만, 튜플은 immutable 자료형이라 한번 생성되면 읽기만 가능하..
[Python] 시퀀스 자료형 #1 리스트(list) 파이썬에선 값이 연속적으로 이어진 자료형들을 총칭하여 "시퀀스 자료형(sequence type)"이라고 부른다. 이번 강좌에서는 파이썬의 시퀀스 자료 구조 중의 하나인 리스트에 대해 알아 본다. 기본적인 리스트 사용법만 본다면 상관 없지만 리스트의 고급 기법에 대한 설명을 쉽게 이해하기 위해서는 아래 항목들에 대한 이해가 되어 있으면 좋다. [Python] 파이썬 기초부터 시작하기 - 문자열 [Python] 파이썬 기초부터 시작하기 - iterator 와 iterable 타입 [Python] 파이썬 기초부터 시작하기 - generator 길지 않은 내용들이니 가벼운 마음으로 한번 훑어 보고 오도록 하자. 다 이해하지 못해도 상관 없다. 개념만 어렴풋이라도 알고 있으면 된다. 목차 >> 리스트(list) ..
[Python] 제너레이터(generator) 이번 포스트에서는 파이썬의 제너레이터(generator)에 대해 살펴 보도록 한다. 강의 순서상으로 함수를 배운 뒤에 언급 되어야 하지만 다음에 나올 시퀀스 자료형에 대한 강의 전에 알아두는 것이 효과적일것 같아 순서를 조정 했다. 본 포스트를 이해하기 위해서는 파이썬 함수의 기본 문법과 iterator의 개념을 이해하고 있어야 한다. 강의 순서가 꼬여서 혼란할 수 있지만 앞의 개념을 모른다면 먼저 살펴 보고 오도록 하자. 직접 마주 보고 있다면 중간 중간 끼어 드는 부분들에 대해서 좀 더 효율적이고 쉽게 전달 할 수 있었을 텐데 지면을 이용하다 보니 이런 방법 밖에 없다. 미안하게 생각한다. 제너레이터(generator)란? 제너레이터(generator)를 한마디로 정의하면 "특이한 iterable 객..
[Python] iterator 와 iterable 타입 이번 포스트는 파이썬 변수의 iterator과 iterable 타입에 대해 알아 보도록 한다. iteration 관련 표준 함수 iter() : 반복자를 리턴 next() : 반복자가 가리키는 값을 반환하고, 반복자는 다음 요소로 이동 reversed() : 뒤에서 부터 앞으로 순회하는 역 반복자 리턴 iterator iterator는 우리말로 번역하면 반복자라고 하며, 객체가 가진 각 요소에 순차적으로 접근 할 수 있게 해주는 도구다. 파이썬에서는 iter() 표준 함수를 통해 얻을 수 있다. 아래 예제는 문자열 객체의 각 문자에 iterator를 이용하여 순차적으로 접근하는 것을 보여주고 있다. s = 'ABCD' itr = iter(s) print(next(itr)) # A print(next(it..

반응형