객체 지향 객체 지향은 문제를 독립적인 객체 단위로 나누어 작업하는 방식으로, 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..
시퀀스(sequence)는 데이터를 순서대로 나열한 형태로 파이썬에서는 문자열, 튜플, 리스트, 바이트 배열, 바이트가 있다. 시퀀스 타입 멤버십 연산: in 키워드를 통해 내부에 있는 데이터를 확인할 수 있다. 0 in [0, 1] >>> True 크기: 크기를 가지며, len() 함수를 사용할 수 있다. len([0, 1, 2]) >>> True 슬라이싱: [시작:끝:스텝]을 통한 슬라이싱을 사용할 수 있다. a = [0, 1, 2] a[0:2] >>> [0, 1] 반복성(iterability): 반복문에 활용할 수 있다. for i in [0, 1, 2]: pass 문자열 문자열(str)은 "" 또는 ''로 표현되며 불변형이다. type("abc") >>> f-string은 변수를 문자열 내부에서 ..