파이썬 프로그래밍에서 디자인 패턴(Design Pattern)은 객체지향을 설계하는 과정에서 발생하는 문제를 해결하기 위해 사용되는 패턴이다. 데코레이터 패턴 데코레이터(decorator) 패턴은 @를 사용해 함수나 메서드를 정의하는 방법이다. def decorator(func): def wrapper(*args, **kwargs): print("start") func(*args, **kwargs) # test(*args, **kwargs) print("end") return wrapper @decorator def test(): print("Test Decorator") test() >>> start >>> Test Decorator >>> end 위 예시의 경우, test라는 함수를 decorator..
객체 지향 객체 지향은 문제를 독립적인 객체 단위로 나누어 작업하는 방식으로, Object-Oriented Programming이라고 불린다. 대규모 작업에서 유지 보수가 유리하다는 장점이 있으며, Python은 대표적인 객체지향 언어이다. 클래스와 객체 객체(object)는 속성 값과 메서드를 가지는 실체를 뜻하며, 포괄적인 의미로 사용된다. 이러한 객체가 메모리에 할당되어 사용될 때 인스턴스(instance)라고 부른다. class ClassName: # 객체(object) pass instance = ClassName() # 인스턴스(instance) 생성자를 통해 인스턴스가 생성되면 __new__ 메서드가 호출되고 __init__ 메서드가 호출된다. 이때 객체를 새로운 변수에 할당하는 것을 바인딩..
return & yield return은 함수의 결과 값을 한 번만 반환한다. def test(): for i in range(100): return i print(test()) print(test()) >>> 0 >>> 0 반면, yield를 사용하면 generator를 쉽게 구현할 수 있다. (generator: iterator를 생성해주는 함수) def test(): for i in range(100): yield i result = test() print(next(result)) # test(): i == 0 print(next(result)) # test(): i == 1 print(next(result)) # test(): i == 2 >>> 0 >>> 1 >>> 2 함수가 yield를 만나면..
robots.txt 크롤링 가능 범위를 작성한 파일이다. 현재 블로그의 url 주소는 https://denev6.tistory.com/이고 https://denev6.tistory.com/robots.txt에 해당 내용이 정리되어 있다. User-agent: * Disallow: /owner Disallow: /manage Disallow: /admin Disallow: /oldadmin Disallow: /search Disallow: /m/search Disallow: /m/admin Disallow: /like Allow: / ... User-agent: *는 모든 유저를 뜻하고, Disallow에 제시된 URL을 제외하고 모든 범위를 허용(Allow)하겠다는 의미이다. Requests import..