[python]Comprehension and Generator expression
2020. 7. 11. 20:59
Programming/Python
2020/07/11 - [Coder/Python] - [python/자료형] 시퀀스 자료형 -2. Dict [python/자료형] 시퀀스 자료형 -2. Dict 3. dict tuple, dict 와 함께 정말 많이 쓰는 자료형 중 하나 대표적인 hashtable 1) dict source = (('k1', 'val1'), ('k1', 'val2'), ('k2', 'val3'), ('k2', 'val4'), ('k2', 'val5')) dic1 = {} for k, v in s.. leo-bb.tistory.com 1. Comprehension and Generator expression 1) Comprehension iterable 한 객체를 생성하는 방법 중 하나 A. iterable 다수 요소(el..
[python/자료형] 시퀀스 자료형 -2. Dict
2020. 7. 11. 20:28
Programming/Python
1. Dict tuple, dict 와 함께 정말 많이 쓰는 자료형 중 하나 대표적인 hashtable 1) dict source = (('k1', 'val1'), ('k1', 'val2'), ('k2', 'val3'), ('k2', 'val4'), ('k2', 'val5')) dic1 = {} for k, v in source: if k in new_dict1: dic1[k].append(v) else: dic1[k] = [v] dic1 >>> {'k1': ['val1', 'val2'], 'k2': ['val3', 'val4', 'val5']} dic2 = {} # Use setdefault for k, v in source: dic2.setdefault(k, []).append(v) dic2 >>> ..
[python]파이썬 함수형 프로그래밍(일급함수, 고차함수, 클로저)
2020. 7. 11. 19:17
Programming/Python
1. 개념 순수 함수들을 조합하여 전체 프로그램을 구현하는 방식으로 말 그대로 프로그램 내에서 데이터 연산 및 처리를 수학적인 개념에서 이해하여 다루려는 개념 2. 콘셉트 side effect 차단 모든 state를 immutable 하게 만들어 side effect를 사전에 차단하려 합니다. f(x+y) = z 가 있다면 f(x+y) = n 가 절대 불가능하듯 하나의 함수가 단 하나의 정상 값과 동작 결과를 갖도록 합니다. 모든 것을 객체로 취급 함수형 프로그래밍에서는 모든 것을 객체로 취급하기 때문에 함수 자체도 객체로 취급합니다. 따라서 함수형 프로그래밍에서는 함수가 인수로 전달되고, 변수에 할당될 수 도 있으며 반환될 수 있습니다. 보다 쉽고 안전한 동시성 작업 모든 객체들이 immutable 하..
[Python/자료형]시퀀스 자료형 -1. List & tuple, Hash table
2020. 7. 11. 13:20
Programming/Python
I.시퀀스 자료형 요소(elements)가 연속적으로 나열되어 있는 모든 자료형 * 시퀀스 자료형은 모두 인덱스 컨트롤, 슬라이싱 등 공통의 기능을 수행할 수 있습니다. 1) 컨테이너형(Container datatypes) : 서로 다른 자료형을 담을 수 있다. ex.) list, tuple, colletions의 deque, namedtuple, orderdict, counter, defaultdict 등 2) 플랫형(Flat datatypes) : 단일 자료형만 담을 수 있다. ex.) str, int, bytes, bytearray, array.array, numpy.ndarray 1. List tuple, dict와 함께 정말 많이 쓰는 자료형 중 하나 수정 가능(mutable) = not has..
[Python/자료형] tuple+dict == 네임드 튜플(namedtuple)
2020. 7. 4. 17:06
Programming/Python
1. 네임드 튜플 네임드 튜플은 collections 에 내장된 모듈로 값이 변경되지 않는 튜플의 성격과 키와 값을 갖는 딕셔너리의 성격을 모두 갖고 있는 형식입니다. 클래스 형식으로 선언하여 사용합니다. 네임드 튜플은 자료의 양이 많고 여러 정보가 연결되어 있을 때 관리에 굉장한 편의성을 제공합니다. 1. 네임드 튜플 선언 from collections import namedtuple # 네임드 튜플 선언 방법 Point = namedtuple('Point', 'x y z') #Point = namedtuple('Point', ['x', 'y', 'z']) #Point = namedtuple('Point', 'x, y, z') #Point = namedtuple('Point', 'x x class', ..
[python]매직 메서드(magic method)
2020. 7. 4. 16:11
Programming/Python
1. 매직 메서드(special mehod) 클래스 안에 정의할 수 있는 특별한 메서드로 파이썬 내에 이미 만들어져 있는 메서드입니다. 공식문서에서는 special method라 표현하는데 magic method 라는 단어와 혼용해서 사용되고 있는 Built-in 함수입니다. print(int) >>> print(dir(int)) >>> ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattr..
[python/클래스] 클래스와 메소드 2. 각종 메소드의 특징과 사용(인스턴스 메소드, 클래스 메소드, 정적 메소드)
2020. 7. 4. 15:14
Programming/Python
2020/07/04 - [Coder/Python] - [python] 클래스와 메서드 1. 클래스 사용의 장점 [python] 클래스와 메소드 1. 클래스 사용의 장점 1. 객체 지향 프로그래밍 (OOP) 규모가 큰 프로젝트 즉 프로그램을 가정할 떄 함수중심 데이터양이 많아 코드의 중복, 재사용이 발생 협업 시 휴먼에러 발생 가능성이 큼 클래스 중심 = 데이터 중�� leo-bb.tistory.com class Icecream(): """ Icecream class author : london date 2020-07-02 description : class, static, instance method """ # 클래스 변수(모든 인스턴스가 공유) icecream_cnt = 0 icecream_price_..