![[Python]](https://blog.kakaocdn.net/dn/cL1P1h/btrIoAYH2ZW/Vyk5Idvw7X8mq7BpKtcIWK/img.jpg)
[Python]
[Python] 파이썬 예외처리(try~except)
예외(exception)란 코드를 실행하는 중에 발생하는 예기치 못한 상황을 의미합니다. 다음과 같은 함수를 가정해 보겠습니다.def div(x): return 20 // x 인자 x에 4를 넣으면 결과는 5가 나오게 됩니다. 정상적인 출력이죠, 하지만 4가 아닌 0을 넣는다면 결과는 어떻게 될까요? def div(x): return 20 // xprint(div(0)) 결과)ZeroDivisionError: integer division or modulo by zero 0으로는 나눗셈을 할 수 없다고 나옵니다. 이렇게 예상치 못한 상황에 코드가 멈추지 않고 계속 실행되도록 하기위해 우리는 예외처리를 해줄 수 있습니다. # try~except 사용하기 try~except구문을 ..
[Python] 파이썬 깊은복사(DeepCopy)
파이썬에는 깊은복사(deepcopy)와 얕은복사(shallowcopy)가 있습니다. 이 두 개념을 알기 전에 파이썬 객체들의 특성에 대해 파악해 보겠습니다. 1. mutable, immutable 객체 파이썬에서 변수는 자신에게 대입된 객체를 가리키는 일종의 포인터 같은 역할을 합니다. 변수는 저장공간을 가지지 않고 객체의 주소를 저장하고 있습니다. a = 1 a는 1을 가지고 있는것이 아니라. 1이라는 integer객체의 주소를 가지고 있게 됩니다. 여기서 mutable의 개념이 나오게 됩니다. mutable속성의 객체는 다음과 같습니다.class구분listmutablesetmutabledictmutableboolimmutableintimmutablefloatimmutabletupleimmu..
[Python] 파이썬 : 람다(lambda) 함수
파이썬에는 함수를 한 줄로 표현해주는 기능이 있습니다. 람다(lambda)함수라고 불리우는 람다 표현식이 바로 그것입니다. 형식은 다음과 같습니다. lambda 매개변수 : 표현식 1. 람다함수 1-1. 두 수를 곱해주는 함수)def multiple(x, y): return x * yprint(multiple(4, 5)) 결과)20결과로 20이 나왔습니다. 다음은 똑같은 연산을 람다함수를 사용해 보겠습니다. 'lambda 매개변수 : 식'의 구성으로 이루어진다고 말씀드렸습니다. 하지만 이 상태로는 함수를 호출할 수 없습니다. 람다 표현식은 이름이 없는 함수를 생성하기 때문에 익명함수(anonymous function)라고도 부릅니다. 익명함수를 호출하기 위해서는 함수를 담아줄 그릇..
[Python] 파이썬 진수 변환 hex(), oct(), bin(), int()
파이썬에는 진수를 변환할 수 있는 내장함수가 있습니다. 그 내장함수로는 hex, oct, bin, int인데 각각 16진수, 8진수, 2진수, 10진수입니다. 하나씩 사용법을 알아보겠습니다. 1. hex() 16진수는 변환함수는 hexadecimal의 앞글자 3개를 따와서 hex입니다. 16진수는 맨 앞에 전두사로 0x가 붙습니다. hex함수는 입력에 해당하는 숫자를 16진수로 변경해 줍니다. hex함수의 반환형은 문자열입니다. a = hex(314)print(a)print(type(a)) 결과)0x13a 2. oct() 8진수는 변환함수는 octal number의 앞 3글자를 따와서 oct입니다. 8진수는 맨 앞자리 접두사로 0o가 붙습니다. oct함수는 입력에 해당하는 숫자를..
[Python] 파이썬 remove(), pop(), del 차이점
파이썬은 리스트에서 요소를 삭제하는 3가지 방법을 지원합니다. remove, pop, del이 그것입니다. 비슷하지만 조금씩 다른 3가지 함수에 대해 알아보겠습니다. 1. remove() remove()는 파이썬 리스트에서 제공하는 함수입니다. 리스트의 요소를 제거할때 값으로 제거합니다. company = [ 'SamSung', 'Nexon', 'Naver', 'Kakao' ]company.remove('Nexon')print(company) 결과)['SamSung', 'Naver', 'Kakao'] remove는 삭제하려는 항목이 리스트에 없는 경우 ValueError를 리턴합니다.company = [ 'SamSung', 'Nexon', 'Naver', 'Kakao' ]company.remov..
[Python] 파이썬 heap 자료구조, heapq 모듈 사용
힙은 최대값과 최소값을 빠르게 찾아주는 자료구조이며 완전 이진 트리를 기반으로 하고, 우선순위 큐 알고리즘이라고도 부릅니다. 힙은 최대 힙과 최소 힙으로 나뉘는데 파이썬에서 제공하는 heapq는 최소 힙을 기본으로 합니다. 최소 힙 : 부모 노드의 키값이 자식 노드의 키값보다 항상 작은 힙 최대 힙 : 부모 노드의 키값이 자식 노드의 키값보다 항상 큰 힙 heap의 데이터 삽입과 삭제는 O(logN)의 시간 복잡도를 보장합니다. 부모 노드와 자식 노드이 인덱스 관계는 다음과 같습니다. 1. 부모 노드 인덱스 = 자식 노드 인덱스 // 2 2. 왼쪽 자식 노드 인덱스 = 부모 노드 인덱스 * 2 3. 오른쪽 자식 노드 인덱스 = 부모 노드 인덱스 * 2 + 1 즉, 부모 노드 인덱스를 k라 하면 왼쪽 자식..