본문 바로가기

Python18

[Python] Decorators 장식자 알아보기 AOP란? 스크립트 언어들(python, javascript)에서 사용하는 장식자를 알아보기 전에 짚고 넘어야할 개념이 있습니다. AOP - Aspect Oriented Programming 풀이 하자면 기능에 촛점을 맞춘 개발이라는 뜻이라고 해석됩니다. 만약에 우리가 일정한 용량의 파일을 복사하고 있다고 가정 하였을때 파일을 복사하면서 발생할 수 있는 I/O에 대하여 딜레이를 준다고 가정한다면 우리가 만들어 놓은 메서드 안에 sleep을 걸어주게 되고 이러한 코드들이 많아지게 될것 입니다. import os import shutil import time time.sleep(1) BASE_PATH = os.path.dirname(os.path.realpath(__file__)) shutil.copyfil.. 2022. 8. 10.
일급 함수(First Class function)와 Closure 일급 함수란? 함수를 변수화 하여 콜할 수 있는 언어의 특성 def add(a, b): return a + b def closure(func, a, b): return func(a, b) f = add >>> closure(f, 1, 2) 3 설명 1. add 함수와 closure 함수를 정의 2. add 함수를 f 변수에 담음 (Closure) 3. closure에 담은 함수와 변수를 이용하여 담은 함수에 인자를 전달 Closure란? 함수 안에 새로운 함수를 정의하여 사용하는 언어의 특성 def greetings(): def say_hello(): print("Hello") return say_hello() >>> greetings() Hello 설명 1. greetings 안에 함수 say_hell.. 2022. 8. 6.
black을 사용하면 코드 포맷팅, 컨밴션 통일이 가능하다고? Code Convention 개발자라면 기획, 설계, 운영 등 여러가지 일을 할줄 알아야 하지만 메인으로 잘 해야만 하는 코딩을 하다보면 내 코드가 깔끔하다고 말 할 수 있을까? 라고 되묻곤 합니다. 이러는 사이에 협업을 통한 서로의 소통이 필요하고 괄호의 들여쓰기 변수들의 나열 등등 서로 맞춰야만 깔끔하고 서로 보기 좋은 코드를 짜고 하나의 프로젝트로 합쳐졌을때 나오는 이슈들에 대한 트레킹이 쉬워집니다. 그때문에 나온 단어가 Code Convention이며 각각의 개발 언어마다 스타일이 조금씩은 다르지만 한개의 프로젝트내에서 java 진영의 경우 들여쓰기 시작 중괄호의 위치 함수 파라미터의 띄어쓰기 등 약속을 하고 개발을 진행하게 됩니다. 그럼 파이썬 진영에서는? 파이썬을 접하고 문법 공부할때만 하더라.. 2022. 8. 6.
[Windows] Python 가상 환경 셋팅 하기 파이썬 개발환경은 os에 직접 설치도 좋지만 깔끔 개발 환경을 구축하기 위해 파이썬을 가상환경에서 실행 할 수 있도록 셋팅합니다. 1. 파워쉘에서 scoop 설치 iwr -useb get.scoop.sh | iex https://scoop.sh/ 링크에 나와 있는 scoop 설치 스크립트를 실행합니다. 2. scoop 업데이트 scoop update 설치하기 전에 업데이트를 실행해 줍니다. 3. 파이썬 가상 환경 설치 scoop install pyenv 파이썬 버전 관리에 필요한 가상환경을 설치해 줍니다. 4. pyenv 업데이트 pyenv update 파이썬 설치전 업데이트를 통해 파이썬 버전들을 불러옵니다. 5. 파이썬 리스트 확인 및 설치 # 파이썬 버전 확인 pyenv install --list .. 2022. 8. 5.