• python의 파일 경로 처리파이썬에서 파일 경로를 다룰 때는 운영체제마다 디렉토리 구분자(path separator)가 다르다는 점을 반드시 고려해야 한다.1. 운영체제별 디렉토리 구분자Windows: 백슬래시 \Linux / macOS: 슬래시 /# Windows 예시C:\Users\miomio\Documents# Linux/macOS 예시/home/miomio/documents또한 주의 사항으로는 Window에서는 대소문자를 구별하지 않지만, 리눅스에서는 대소문자를 구분한다는 점도 명심해야한다. 2. 파이썬에서 경로를 안전하게 처리하는 방법2-1. os.path 모듈 사용import ospath = os.path.join("folder", "subfolder", "file.txt")print(pat..

  • 클로저(Closure)란? 클로저(Closure)는 함수가 종료된 이후에도, 해당 함수의 지역 변수 값을 기억하는 기법이다.함수 내부에 선언된 내부 함수(inner function)가 바깥 함수의 변수에 접근할 수 있으며, 그 값이 유지된다. 1. 클로저가 아닌 잘못된 예def outer(par): loc = parvar = 1outer(var)print(par)print(loc)위 코드는 오류(NameError)를 발생시킨다.par와 loc는 함수의 지역 변수이기 때문에 외부에서 접근할 수 없다. 2. 클로저 예제def outer(par): loc = par def inner(): return loc return innervar = 1fun = outer(var)pri..

  • 1. lambda 함수 기본 구조lambda 매개변수들: 표현식함수 이름 없이 사용하는 익명 함수간단한 계산이나 함수를 간결하게 표현할 때 사용예제two = lambda: 2sqr = lambda x: x * xpwr = lambda x, y: x ** yfor a in range(-2, 3): print(sqr(a), end=" ") print(pwr(a, two()))two()는 항상 2를 반환sqr(a)는 a의 제곱pwr(a, 2)는 a의 2제곱 2. map() 함수와 lambdamap(함수, 반복가능한객체)반복 가능한 객체는 1개 이상일 수 있다.예시 코드와 설명은 아래의 주석을 참고한다.반복 가능한 객체의 각 요소에 함수를 적용map 결과는 이터레이터 → list()로 변환해서 사용예..

  • 1. except 구문에서 raise 사용raise는 예외를 발생시킬 때 사용하는 키워드.반드시 except 안에서만 써야 하는 건 아님일반 코드, 함수, 조건문 등에서도 raise는 자유롭게 사용할 수 있다def divide(x, y): if y == 0: raise ValueError("0으로 나눌 수 없습니다.") return x / y except 블록 안에서 raise를 쓰는 경우는 예외를 다시 던질 때이다.try: something()except ValueError as e: print("에러 발생:", e) raise # 예외를 다시 던짐 (re-raise) 2. except 순서의 중요성순서 매우 중요하다! 예외는 위에서부터 차례대로 검사한다.구체적..

  • 파이썬에서 모듈이나 패키지를 불러올 때 import 구문이 어떻게 모듈 경로를 찾는지 아는 게 중요하다.1. sys.path란?파이썬이 모듈을 찾을 때 참고하는 경로들의 리스트야.현재 작업 디렉터리환경 변수 PYTHONPATH에 지정된 경로들표준 라이브러리 경로 등즉, import할 때 이 경로들을 순서대로 뒤져서 모듈을 찾는다.2. sys.path.append()는 무엇인가?이 함수는 sys.path 리스트에 새로운 경로를 추가하는 역할을 한다. 그래서 파이썬 인터프리터가 모듈을 검색할 때 추가한 경로도 포함된다.import syssys.path.append('/내가/추가하고/싶은/경로')3. 왜 쓰는가?모듈이 기본 경로(예: 현재 디렉터리, site-packages 등) 외부에 있을 때커스텀 라이브러..

  • Python 파일을 작성하다 보면 아래와 같은 구문을 자주 보게 된다.if __name__ == "__main__": # 실행 코드이 구문의 핵심은 이 파일이 직접 실행될 때만 특정 코드를 실행하겠다는 뜻이다.1. __name__ 변수란?모든 Python 파일에는 자동으로 __name__이라는 내장 변수가 존재한다.파일이 직접 실행되면 → __name__ == "__main__"파일이 import되면 → __name__ == "모듈이름"2. 예제로 보기# module_a.pydef say_hello(): print("Hello!")print("module_a의 __name__:", __name__)if __name__ == "__main__": print("직접 실행됨!") say_..

  • Copyright 2024. GRAVITY all rights reserved