I. 람다 함수 (Lambda Function) 일반적인 함수는 함수를 정의 후 실행 연산자로 호출하여 사용하지만 람다 함수는 별도의 함수 정의 없이 함수를 작성하는 즉시 실행 예약어 lambda를 먼저 쓰고 다음에 매개변수, 콜론, 표현식 순으로 작성 이름을 별도로 지정이 불가하고 표현식 평가 후 결과를 그대로 반환 [예제] 람다 함수 정의 및 실행 (lambda x, y : print(x
재귀 함수: 자기 자신의 함수를 함수 내 연속적으로 호출하여 처리하는 함수 합성 함수: 다른 함수를 매개 변수로 받거나 반환하여 처리하는 함수 I. 재귀 함수 재귀 함수 사용 시 별도의 순환문을 사용하지 않아도 반복 처리 효과 파이썬에서는 재귀 함수를 무한정 사용할 수 없도록 제한 [예제] 함수 재귀 호출 import timeit def func1(list1) : if len(list1)
컴프리헨션(Comprehension) 수학의 집합에서 특정 수식을 사용하는 방식처럼 파이썬에서 간단한 표현식을 작성하는 기법 리터럴 표기법으로 원소를 나열하여 객체 생성 시 원소가 많으면 모두 나열하기 어려우므로 간단한 표현식으로 작성 I. 리스트 컴프리헨션 리스트 객체 생성 시 원소 나열 방식으로 리터럴 표기법 사용 객체의 원소가 많은 경우 대괄호 안에 표현식을 작성하여 원소를 나열 [예제] map함수에 대한 리스트
I. 딕셔너리 (dict) 딕셔너리는 키와 값으로 구성된 자료 구조 파이썬에서는 저장 도구로 딕셔너리를 자주 사용 검색 기준은 키(key)로 저장, 키 값은 내부적으로 해시로 변환 해시 변환 가능한 객체로는 숫자, 문자열 등 변경 불가 객체 사용 가. 일반 딕셔너리 [예제] 딕셔너리 객체 생성 및 확인 dictA = {'a' : 1, 'b' : 2} print(type(dictA)) dictA['a'] =
I. 색인 검색 (Indexing) 색인 연산은 대괄호(“[“, “]”) 기호 사용하며, 원소 검색 시 정수 사용 순방향 검색: 좌측부터 처리하며, 인덱스는 0부터 시작하는 양수 사용 역방향 검색: 우측부터 처리하며, 인덱스는 -1부터 시작하는 음수 사용 가. 색인(Index)으로 검색 [예제] 하나의 원소를 인덱스로 검색 a = [1, 2, 3, 4, 5] print(a[0]) print(a[4]) [결과] 1 5 인덱스 범위를
I. 튜플(tuple)과 네임드 튜플(named tuple) 가. 튜플(tuple) 튜플은 변경 불가 클래스로, 객체 생성 후 원소를 변경, 삭제, 추가할 수 없고 색인 연산을 통해 조회만 가능 [예제] 튜플 (tuple) t = tuple((1, 2, 3, 2, 1)) # 튜플 객체를 리터럴로 표기(쉼표로 구분) print(t.count(2)) # 원소 값(2)의 개수를 count print(t.index(3)) # 인덱스 정보의 원소 조회 [결과] 2
I. 유니코드 문자열 클래스와 바이트 문자열 클래스 가. 문자열 클래스 문자열 클래스는 유니코드 문자 세트를 지원하므로, 한글이나 영어 문자열 객체 생성 [예제] 문자열 생성 print(str("한글 문자")) print(bytes(b"En String")) # 영어 문자 세트만 사용 시 문자열 앞에 b를 붙여 바이트 문자열 명시 print("문자열 클래스만: ", set(dir(str)) - set(dir(bytes))) # 문자열 클래스에만 있는 메소드 print("바이트 클래스만: ",
I. 유리수와 정밀한 숫자 계산 모듈 파이썬에서는 정수, 실수, 복소수가 기본이며, 유리수는 추가 모듈로 제공 정밀한 계산을 위해 십진수 모듈 제공 가. 유리수 처리 분모와 분자로 이루어진 유리수 처리 모듈, fractions Fraction 클래스 2개의 인자에 정수 입력하여 객체 생성 시 두 수를 약분하여 생성 [예제] 유리수 처리하기 from fractions import Fraction f = Fraction(20, -8)
파이썬의 최상위 클래스는 object이고, 클래스 정의 시 상속 하지 않아도 이 클래스를 기본으로 상속 I. 클래스 내부 속성 object 클래스는 스페셜 속성과 스페셜 메소드만으로 구성 특별한 기능은 없으며 속성이 없는 객체 생성 역할 [예제] 내부 속성 확인 list_array = [str, int, list, tuple, type(None), object, type] for i in dir(object) : if (type(object.__getattribute__(object, i))
I. 예약어로 관리되는 객체 가. None 객체 아무것도 없는 객체를 나타내는 예약어로 None 객체가 있음 [예제] None 객체 확인 print(type(None)) # None 객체 생성 클래스 print(None.__bool__()) # None 객체는 항상 False print(bool(None)) [결과] <class 'NoneType'> False False 나. bool 클래스의 객체 True/False는 예약어로, 내장 클래스 bool로 생성된 2개의 객체가 할당 [예제] bool 클래스 확인 #