Python

    [Python] json 데이터 다루기

    json 읽어오기 (json -> dict) import json # json 파일 읽어오기 with open('./test.json', 'r', encoding='UTF8') as json_file: sample_json = json.load(json_file) print(sample_json) # 출력: {'이름': '홍길동', '나이': 25, '특기': ['농구', '도술'], '가족관계': {'아버지': '홍판서', '어머니': '춘섬'}, '결혼 여부': True} # json 문자열 읽어오기 json_str = ''' { "이름": "홍길동", "나이": 25, "특기": ["농구", "도술"], "가족관계": { "아버지": "홍판서", "어머니": "춘섬" }, "결혼 여부": true ..

    [Python] Generator란?

    Generator란? - iterator를 생성해주는 함수, 함수안에 yield 사용 - lazy evaluation으로 계산결과 값이 필요할때까지 계산을 늦춘다 - 무한한 순서가 있는 객체를 모델링 가능 iterator vs generator - iterator는 데이터에 순차적으로 접근이 가능하지만 호출해야하는 모든 데이터를 미리 메모리에 적재해야한다. - 반면 generator는 호출할 때마다 다음에 나올 데이터를 계산해서 반환한다. 메모리 효율이 좋다. - 예를 들어 100억번까지 호출이 필요한 iterator를 만드려면 메모리에 100억개의 데이터를 저장해야하지만, generator는 100억까지를 순차적으로 계산할 수 있는 로직만 있으면 된다. # iterator a = iter([1,2,3,..

    [Python] iterable과 iterator

    iterable 이란? - iterable 은 member를 하나씩 차례로 반환 가능한 object를 말한다. - 대표적인 예로 sequence type인 list, str, tuple 이있고 non-sequencce type인 dict, file 그리고 __iter__() 또는 __getitem__()이 define된 모든 object를 포함한다 # sequence type for x in range(5): print(x) #출력: 1,2,3,4 for x in [2,5,6,7]: print(x) #출력: 2,5,6,7 # non-sequence type sample = {'a':1,'b':2,'c':3,'d':4} for x in sample: print(x) #출력: a,b,c,d 위처럼 for문을..

    [Python] 파이썬 가상환경(venv) 설정하기

    Python 가상환경을 설정해보자. (모든 예제는 Python3을 기반으로 한다) 가상환경을 왜 설정해야하느냐? - 여러개의 파이썬 프로젝트를 가지고 있을때 패키지 버전을 잘못 업그레이드하면 어떤 프로젝트와는 호환이 안될 수도 있다. - 파이썬에서는 한 라이브러리에 한해서 하나의 버전만 설치가 가능하기 때문이다. - 따라서 이를 방지하기 위해 각 프로젝트별로 격리된 독립적인 가상환경을 생성한다. 가상환경 생성 가상환경 폴더를 만들고싶은 위치에서 python -m venv {가상환경 폴더명} 명령어를 실행하거나 다음과 같은 명령어를 실행하면 된다 python -m venv {가상환경 폴더생성 경로 + 폴더명} 이렇게 하면 해당 경로에 가상환경 설정파일이 담긴 폴더가 생길것이다. 가상환경 접속 Windows..