본문 바로가기

Engineering WIKI/Python51

Generator 파이썬 반복형 종류 Iter, next 함수 Generator 장점 Generator 코딩 실습 Generator 내장 함수 실습 반복 가능한 이유 ? ⇒ iter(x) 함수 호출 Generator 패턴 지능형 리스트, 딕셔너리, 집합 → 데이터 셋이 증가 될 경우 메모리 사용량 증가 → 제너레이터 완화 단위 실행 가능한 코루틴(Coroutine) 구현에 아주 중요 딕셔너리, 리스트 한 번 호출 할 때 마다 하나의 값만 리턴 → 아주 작은 메모리 양을 필요로 함 Generator 예제 1 def generator_ex1(): print('start') yield 'AAA' print('continue') yield 'BBB' print('end') temp = iter(generator_ex1()) pr.. 2022. 5. 30.
일급함수 다양한 매개변수 입력 (*args, **kwargs) *args 는 튜플로 받고, **kwargs는 딕셔너리로 받는다. def args_test(name, *contents, point=None, **attrs): return ' -> ({}) ({}) ({}) ({})'.format(name, contents, point, attrs) print('EX5-3 -', args_test('test1', 'test2', 'test3', id='admin') print('EX5-4 -', args_test('test1', 'test2', 'test3', id='admin', point=7) print('EX5-5 -', args_test('test1', 'test2', 'test3', id='admin', p.. 2022. 5. 30.
파이썬 2진수, 8진수, 10진수, 16진수 변환 먼저 파이썬은 기본 10진수이기 때문에 다른 진수는 아래와 같이 접두어가 붙습니다. 2진수: 0b 8진수: 0o 16진수: 0x 10진수에서 2진수, 8진수, 16진수 변환 bin(), oct(), hex() 내장함수 사용 파이썬에서 제공하는 내장함수를 사용하면 쉽게 변환 할 수 있습니다. value = 60 b = bin(value) o = oct(value) h = hex(value) print(b) print(o) print(h) # 0b111100 # 0o74 # 0x3c 결과는 전부 문자열 타입입니다. format() 내장함수 사용 forrmat() 내장함수를 사용하여 위 결과와 마찬가지로 변환할 수 있습니다. value = 60 b = format(value, '#b') o = format(v.. 2022. 5. 26.
추상클래스(abstract class) 1. 추상클래스(abstarct class)란 추상클래스란 미구현 추상메소드를 한개 이상 가지며, 자식클래스에서 해당 추상 메소드를 반드시 구현하도록 강제합니다. 상속받은 클래스는 추상메소드를 구현하지 않아도, import할 때까지 에러는 발생하지 않으나 객체를 생성할 시 에러가 발생합니다. 추상클래스를 만들기 위한 형식은 아래와 같습니다. 반드시 abc 모듈을 import 해야합니다. 추상메소드는 생략하면 기본적인 클래스 기능은 동작합니다만, 추상메소드를 추가한 후에는 객체를 생성하면 에러가 발생합니다. from abc import * class 추상클래스명(metaclass=ABCMeta): @abstractmethod def 추상메소드(self): pass 2. 추상클래스(abstract class.. 2022. 5. 25.
파이썬 람다식 메모리 절약, 가독성 향상, 코드 간결 lambda 매개변수들: 식 람다표현식 (익명함수) lambdaAdd = lambda n, m: n + m print(lambdaAdd(2,3)) #5 print(lambdaAdd(4,5)) #9 print((lambda n, m: n if n % 2 == 0 else m)(1, 3)) #3 print((lambda n, m: n if n % 2 == 0 else m)(2, 3)) #2 함수 vs 람다 함수는 객체 생성 → 리소스(메모리) 할당 람다는 즉시 실행(Heap 초기화) ⇒ 메모리 초기화 def plus_ten(x): return x + 10 plus_ten(1) # 11 plus_ten = lambda x: x + 10 plus_ten(1) # 11 (l.. 2022. 5. 25.
파이썬 퀵 정렬 def quick_sort(st): if len(st) 2022. 5. 25.