[Python] Exception 처리
·
Programming
1. Exception 발생 시 기본 동작Python에서 무엇인가가 잘못된 경우, python interpreter는 exception을 발생시킴.Exception : 동작을 중단시키는 에러를 가르킴.Exception handling : Exception 처리라고도 불리며, 발생한 exception을 처리하여 프로그램이 비정상적 중단(crash)되지않도록 처리하는 것을 가르킴. Python에서 exception이 발생할 경우, 프로그램은 더 이상 수행하지 않고 종료된다.(해당 문제를 그냥 안고 가는 것보다 사용자에게 문제가 발생했다는 것을 알리고 종료하는 게 일반적으로 더 나은 대처임)참고로 이와 같은 종료를 crash 발생이라고도 한다. Python에서는 Excpetion 이라는 type으로 예외를 추..
[Python] Strong Typing이란? with Object
·
Programming
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) 동시..
[Python] Variable (and Object)
·
Programming
Variable (and Object)1. 정의Python에서 Variable은 Memory에 할당된 Ojbect를 참조하는 Name (=Reference)에 불과하다.이 문서에서 Object는 Python에서의 Object로 type과 value, ID (CPython에서는 할당된 memory address), 그리고 reference count를 가지고 있는 데이터 덩어리를 가리키는 것으로 한정한다.Static Language에서의 Variable들이 type을 가지고 memory에 binding 되어있기 때문에,Static Language에서 variable들은 자신의 type와 다른 type의 memory 영역에 binding이 불가함.다른 type의 memory영역과의 binding을 위해서는,..
[Python] Arithmetic in Python and Augmented Assigment
·
Programming
1. Precedence of Arithmetic Operations Higher ** > -(negation) > * = / = // = % > + = -(subtraction) Lower 우선순위를 기억하는 것도 중요하지만, 헷갈리면 그냥 parentheses로 묶어주면 된다. (가독성을 위해서도 이를 추천) 동시에 3+2와 같은 간단한 expression은 굳이 parentheses로 묶지 말 것. (이 경우, 복잡한 expression등과 헷갈리게 됨) 2. Unary Operator (단항 연산자) 2.1. exponentiation : ** 2의 3 제곱은 다음 2**3 으로 표시함. 2.2. negation : - 음수를 표현. (subtraction이 아닌) >>> -2 -2 >>> --2..
[Python] (Data) Type: Summary
·
Programming
1. Type 이란?Programming에서 사용되는 모든 value 혹은 object 들의 종류 를 (data) type이라고 부름.수학에서 숫자의 종류(type)를 실수, 정수, 자연수 등으로 나누는 것을 생각하면 쉽다.Programming에서는 문자들도 다루며, 여러 object를 묶어 하나로 처리하기도 하기 때문에 보다 다양한 type을 지원한다.2. Programming에서 Type 이란?Programming에서 특정 object가 어떤 type인지가 결정되면 다음의 내용이 해당 type에 따라 결정된다.해당 object가 가질 수 있는 value들의 집합이 결정됨. (예를 들어 int type이면 정수만을 값으로 가질 수 있음)해당 object를 operand(피연산자)로 가질 수 있는 ope..
[Python] Expression vs. Statement
·
Programming
Expression (표현식) 프로그래밍 또는 컴퓨터 과학 분야에서 Expression은 흔히, function call, identifier, number, operator, literal 등으로 이루어진다. 표현식(or 수식) 으로 번역. 하나의 value로 reduce 될 수 있는 code를 말함. (python에서는 여러 value들을 가진 collection을 반환하는 expression도 가능하나, 이것도 하나의 collection으로 reduce된 것으로 볼 수 있음.) evaluation 이라는 용어와 함께 쓰이는데, expression을 결과 value로 바꾸어주는 동작을 의미함. 2+3 이라는 expression 을 5로 구해주는 처리가 바로 evaluation임. 이후 다루는 eval..