📌 이터레이터와 제너레이터 이터레이터란 여러 개의 요소를 가지는 컬렉션에서 요소를 하나씩 꺼내 어떠한 명령을 수행하도록 돕는 객체를 의미한다. 제너레이터는 일반 함수와 같이 정의되며, 데이터를 반환할 때에 return문이 아닌 yeild문을 사용한다. return과 달리 yeild문을 사용하면 데이터가 보존된다. 👉 이터레이터 ✔ 이터레이터는 반복자라는 의미로, 순회 가능한 자료구조의 요소를 탐색하는데 도움을 준다. ✔ 말하자면 시퀀스의 여러 요소를 하나씩 꺼내어 어떤 수행을 하는데 도움을 주는 객체라고 볼 수 있다. #이터레이터 객체 생성 iterator = range(3).__iter__() # __next__를 사용해 다음 데이터에 접근 print(iterator.__next__()) print(i..
📌 데코레이터 이미 정의되어 있는 함수에 기능을 추가하고자 한다면 데코레이터를 사용한다. 가변 인자를 반드시 사용해야 하는 것은 아니나, 여러 가지 상황에 대응할 수 있으므로 추천한다. 📍 어떤 함수의 이름을 인자로 받아 꾸며준 후, 다시 해당 함수를 리턴(실행)한다. 📍 데코레이트 할 함수의 함수의 정의부 상단에 @데코레이터명을 추가하는 방법으로 사용할 수 있다. 📍 이미 정의된 함수에 로직을 추가하므로 코드 중복을 최소화하고 재사용성이 향상된다. 📍 데코레이터는 중첩이 가능하다. 하지만 가독성이 떨어지고 디버깅이 어렵다는 단점이 있다. 📍 매개 변수로 *args와 **kwargs를 사용하는 것을 추천한다. 👉 데코레이터 만들기 def hello() : print('hello') def hi() : p..
📌 상속 자식 클래스가 부모 클래스로부터 멤버 변수와 멤버 메서드를 물려받는 것을 말한다. 부모 클래스에게서 상속받은 메서드를 자식 클래스에서 기능을 확장(오버 라이딩)할 수 있다. 클래스 내부의 메서드가 기능이 구현되어 있지 않은 추상 메서드인 경우 추상 클래스라고 하며, 이를 상속받은 자식 클래스는 반드시 추상 메서드를 구현해주어야 한다. 📍 자식 클래스가 부모 클래스로부터 멤버를 상속받는다. 📍 부모 클래스로부터 상속받은 메서드를 재 정의하는 것을 오버 라이딩이라고 한다. 📍 부모 클래스의 멤버를 사용하려면 super(). 멤버명으로 접근할 수 있다. 📍 부모 클래스의 인스턴스 멤버에는 당연히 접근 불가능. 📍 기능이 구현되어 있지 않은 빈껍데기 메서드를 추상 메서드라고 한다. 📍 추상 메서드를 가..
📌 특수 메서드 (매직 메서드) 클래스 내부에 선언할 수 있는 특수 메서드를 말한다. 파이썬에서 사용되고 있는 연산자나 함수를 오버 로딩할 수 있다. 기존에 사용되고 있는 연산자나 함수를 오버 로딩하므로, 특수 메서드는 이미 정해진 이름을 사용해야 한다. 📍 특수 메서드는 메서드명 전 후로 이중 언더바를 가지고 있다 (예) __lt__() 📍 이미 파이썬에서 정의되어 사용되고 있는 연산자나 함수를 클래스 내부에 오버로딩한다. 📍 기존에 사용 중인 연산자나 함수를 오버 로딩하므로 이미 정해진 이름을 그대로 사용해야 한다. 📍 메서드 호출 시에는 파이썬에서 통용되는 연산자와 함수명으로 호출한다. 참고. WikiDocs - 왕초보를 위한 파이썬 / WikiDoc - 레벨업 파이썬 👉 특수 메서드의 종류 __d..
📌 객체와 클래스 클래스는 객체에서 사용되는 속성(자료구조)과 메서드를 정의해 묶어준 것을 의미한다. 클래스가 설계도, 객체는 그 설계를 바탕으로 실체화한 것이라고 볼 수 있다. 객체는 인스턴스라고도 부른다. 객체 지향 프로그래밍은 복잡한 문제를 잘게 나누어 객체로 만들고, 객체를 조합하여 문제를 해결한다. 따라서 복잡한 문제를 처리하는 데에 유용하다. 📍 객체 : 클래스로부터 생성되어 클래스의 속성(자료구조)과 메서드를 가진다 📍 클래스 : 객체에서 사용될 속성과 메소드를 정의한 틀 📍 속성 : 클래스와 객체에서 사용되는 변수(자료구조). 멤버 변수라고 부른다. 📍 메서드 : 클래스와 객체에서 사용되는 함수. 멤버 메서드라고 부른다. (매개변수 self를 필수로 가진다) 📍 클래스 내부의 함수는 일반 ..
📌 내장 함수 파이썬의 내장 함수는 모듈이나 패키지를 import하지 않고 바로 사용할 수 있다. 자주 사용하는 함수만 정리(사전 순으로 정리) 해보고 필요하면 그때그때 찾아서 쓰자. 참고 : 파이썬 코딩도장, 점프 투 파이썬 함수명 설명 oct(정수) 정수를 16진수 문자열로 바꾸어 반환 open(파일이름, 파일모드) 지정된 파일을 열어, 파일 모드로 인코딩하여 파일 객체를 반환 - 파일 모드: w (쓰기) , r (읽기) , a (추가) , b (바이너리모드) ord() 문자의 아스키 코드 값을 반환 - 반대되는 기능을 하는 함수로 chr()가 있다 pow(n1, n2) n1 을 n2만큼 제곱한 결과를 반환 range( start, end, step ) 인수로 입력한 범위 값을 반복 가능한 객체로 만..
📌 내장 함수 파이썬의 내장 함수는 모듈이나 패키지를 import하지 않고 바로 사용할 수 있다. 자주 사용하는 함수만 정리(사전 순으로 정리) 해보고 필요하면 그때그때 찾아서 쓰자. 참고 : 파이썬 코딩도장, 점프 투 파이썬 함수명 설명 filter(함수명,시퀀스) 시퀀스의 요소를 함수의 인수로 하나하나 전달해 조건에 맞는 요소만 반환 format(값, 포맷스팩) 값을 지정한 포맷 스펙에 맞추어 문자열로 만든다 (예) format(1000, ',') → 1,000 hex(n) 10진법 정수를 16진수로 반환 id(객체) 객체를 입력받아 객체의 고유 주소(레퍼런스)를 반환 input() 문자열을 입력받는 함수 int(n1) 정수가 아닌 데이터 형의 값을 정수 형태로 반환 int(n1, n2) n2진법으로..
📌 내장 함수 파이썬의 내장 함수는 모듈이나 패키지를 import하지 않고 바로 사용할 수 있다. 자주 사용하는 함수만 정리(사전 순으로 정리) 해보고 필요하면 그때그때 찾아서 쓰자. 참고 : 파이썬 코딩도장, 점프 투 파이썬 함수명 설명 abs(값) 절대값을 반환 all(시퀀스) 시퀀스의 요소가 모두 참이면 True, 거짓이면 False - 요소가 0이 아니면 True, 0이면 False any(시퀀스) 시퀀스의 요소가 하나라도 참이면 True, 거짓이면 False - 요소가 0이 아니면 True, 0이면 False bin(정수) 정수를 2진수 문자열로 바꾸어 반환 bool(값) boolean으로 형변환 - 0이 아닌 값이면 True - 0, None, 비어있는 객체는 False chr(코드값) 아스키..
📌 내장 함수 파이썬의 내장 함수는 모듈이나 패키지를 import하지 않고 바로 사용할 수 있다. 자주 사용하는 함수만 정리(사전 순으로 정리) 해보고 필요하면 그때 그때 찾아서 쓰면된다. 실습 예제는 아래 게시글을 참고하자. [파이썬 기초] 03-1. 내장 함수 사용하기(a-e) [파이썬 기초] 03-1. 내장 함수 사용하기(f-m) [파이썬 기초] 03-1. 내장 함수 사용하기(o-z) 참고 : 파이썬 코딩도장, 점프 투 파이썬 함수명 설명 abs(값) 절대값을 반환 all(시퀀스) 시퀀스의 요소가 모두 참이면 True, 거짓이면 False - 요소가 0이 아니면 True, 0이면 False any(시퀀스) 시퀀스의 요소가 하나라도 참이면 True, 거짓이면 False - 요소가 0이 아니면 True..
📌 시퀀스 자료형 (sequence type) [리스트], (튜플), {딕셔너리}, 문자열, range는 데이터가 연속적이라는 공통점이 있다. 파이썬에서는 이처럼 연속적으로 이어진 데이터를 묶는 자료형을 시퀀스 자료형(sequence types)이라고 부른다. 📍 시퀀스 자료형은 공통된 동작과 기능을 제공한다. 📍 시퀀스 자료형으로 만든 객체를 시퀀스 객체라고 부르며, 객체 안에 저장된 값을 요소라고 부른다. 📍 앞서 다루었던 리스트, 튜플, 딕셔너리와 겹치는 내용이 있을 수 있다. 👉 검색 : 특정 값이 있는 지 확인하기 1. 값 in 시퀀스객체 num = [ 10, 20, 'hi', 4, 5 ] if(10 in num) : print('10 in num') else : print('10 not in ..