Python
[Math] Cartesian Product (or Descartes Product, Product Set)
Cartesian Product (or Descartes Product) 공집합(empty set, null set)이 아닌 여러 sets를 이용하여 새로운 set을 만드는 연산. Cartesian product는 operand인 여러 집합들의 각 elements를 원소(component, element)로 하는 tuple을 element(원소)로 하는 set을 반환함. 2개의 집합 $A$, $B$의 Cartesian product $A\times B$는 다음과 같음. $$A\times B= \{ (a,b) | a \in A, b\in B\}$$ $n$ 개의 집합 $A_1, A_2, \dots, A_n$의 Cartesian Product는 다음과 같이 정의됨. $$\displaystyle \prod^n_..
[ML] Time Series 란?
시계열 데이터라고 불리는 time series data는 쉽게 생각해서 일정한 시간 간격으로 배치된 seqence (수열) 을 가르킨다. 이는 엄밀하게 애기하면 discrete time series data라고 생각할 수 있다. continuous time series data의 경우엔 sampling interval $T_0=0$인 경우를 가르킨다. tiem series data는 순서가 의미를 가지는 sequential data의 일종이다. 2023.07.21 - [.../Math] - [Math] Sequence (수열) and Series (급수) [Math] Sequence (수열) and Series (급수) Sequence 수열, 열 이라고 불림. numbers나 objects 들이 순서를 ..
[Python] for statement
for statement는 loop를 위한 control structure의 대표격이다. Python에서는 iterable 객체 (주로 collection type의 객체들)이 가지고 있는 item들을 iterate하는 용도로 사용된다. 프로그래밍을 배울 때, 구구단 출력과 같은 고전적인 예를 통해 배우고, 정말 기본 중의 기본으로 활용된다. 단, NumPy등을 익히게 되면서 loop가 아닌 matrix 를 이용한 처리 (쉽게 생각하면 많은 memory를 이용하여 반복을 덜하는 방식이라고 할 수 있음)가 보다 효율적이기 때문에 정말 필요한 경우 아니면 쓰지 말라고 애기를 하게 되지만... for statement는 정말 기본 중의 기본이다. (반복을 얼마나 효율적으로 하느냐가 성능 뿐 아니라 유지보수의 ..
[Python] Regular Expression : re 요약
Regular Expression : re 요약 정규표현식(正規表現式, Regular Expression)은 문자열을 처리하는 방법 중의 하나로 특정한 조건의 substring(문자열)을 '검색'하거나 '치환'하는 과정을 특정 문자열의 pattern을 기술하는 expression을 이용하여 매우 간편하게 처리 할 수 있도록 해준다. 주요 Tasks RE를 통해 수행되는 것은 크게 다음의 세가지임. searching splitting replacing 이들 모두 특정 substring pattern에 대한 matching을 사용한다. 즉, matching, searching, splitting, replacing을 하는 방법에 대한 이해를 하면 RE를 효과적으로 사용가능하다. compiled pattern..
[Python] str : Overloaded Operators
Concatenation + opeartor combines its two operands. 다음과 같이, 두 문자열이 붙은 새로운 문자열을 반환한다. >>> a = 'test1' + 'test2' >>> a 'test1test1' + opeartor does not add any space between two operand strings to concate, contrast to the case of print method. print 함수에서 argument 사이에 space가 포함되는 것과 달리 문자열 그대로 사용하여 결합만이 이루어짐. Duplication 곱하기가 아닌 앞의 operand 인 str이 뒤의 operand로 주어진 숫자만큼 반복되어 concatenation이 됨. >>> 'one..
[Python] f-String
Python : f-StringPython 3.6 이후 도입됨.기존의 중괄호 {}과 format 메소드를 사용하여 문자열 포매팅을 설정하는 방식(Python 2.6 이후)과 유사하지만, 더 직관적으로 문자열을 포맷팅할 수 있는 기능으로 현재는 다른 방법들보다 권장됨 이를 formatted string literals라고도 부르며, 더 간결한(succinct) 구문을 가지고 있음.SyntaxPython에서 문자열을 만드는 방식과 거의 유사하나 문자열을 싸고 있는 single or double quotes에서 시작하는 quote앞에 f 나 F를 붙여주면 됨."simple text" : 일반적인 Python 문자열f"formatted string lietera" : f-StringHow to print var..
[Python] Assignment (Basic)
1. General formAssignment statement의 일반적인 형태는 다음과 같음.varible = expression2. 수행 순서= 기호의 오른쪽의 expression을 evaluation함 (하나의 값으로 reduction)1번의 값에 해당하는 object (해당 값을 value로 가진 object)가 저장된 memory address (CPython에서는 해당 object의 ID가 이에 해당)를 variable의 value(값)으로 넘겨줌.= 기호의 왼쪽에 있는 variable이 가지는 name이 최초로 등장한 경우, 해당 variable을 생성시키게 됨.만약 해당 name의 variable이 있었다면 이 variable의 값이 2번에서 구한 결과 object의 ID로 변경됨.3. E..
[Python] importlib.reload : module 재적재
기본적으로 Python의 module은 최초로 import될 때에만 수행이 됨. 때문에 Python session에서 특정 module을 import 하고 난 이후 해당 moduel에 수정사항이 발생할 경우, 해당 수정사항은 수행 중인 session에 반영되지 못함. Module에 대한 이해가 부족할 경우 다음 글을 참고할 것. https://dsaint31.me/mkdocs_site/python/basic/module_package/ BME228 Modules and Packages Module 쉽게 생각하면 Python code 로 구성된 file을 가르킨다. Module은 import될 때 각각 고유의 namespace를 가짐 (Namespace의 역할도 수행). Python에서 module은 확장..
[Python] Exception 처리
1. Exception 발생 시 기본 동작Python에서 무엇인가가 잘못된 경우, python interpreter는 exception을 발생시킴.Exception : 동작을 중단시키는 에러를 가르킴.Exception handling : Exception 처리라고도 불리며, 발생한 exception을 처리하여 프로그램이 비정상적 중단(crash)되지않도록 처리하는 것을 가르킴. Python에서 exception이 발생할 경우, 프로그램은 더 이상 수행하지 않고 종료된다.(해당 문제를 그냥 안고 가는 것보다 사용자에게 문제가 발생했다는 것을 알리고 종료하는 게 일반적으로 더 나은 대처임)참고로 이와 같은 종료를 crash 발생이라고도 한다. Python에서는 Excpetion 이라는 type으로 예외를 추..
[Python] Strong Typing이란? with Object
Python은 Strong Typing을 채택하고 있다. 이는 Object가 mutable type이냐 immutable type이냐에 상관없이 type이 변경되지 않음을 의미한다. 주의할 건, Object가 대상인 점이다. Python에서 Object는 memory에 할당된 일종의 데이터 덩어리(chunk)로 최소한 다음을 가지고 있어야 한다. 1. Value 2. Unique ID (CPython에선 memory address) : id(target_obj) 3. Type (type에 의해 같은 value라도 다르게 해석됨) : type(target_obj) 4. Reference Count (Garbage Collection을 위해 필요.) : sys.getrefcount(target_obj) 동시..