Python의 변수와 참조 변수는 일반적으로 데이터를 저장할 수 있는 메모리 공간을 의미한다. 다만, 파이썬에서의 변수는 C, 자바 같은 컴파일 언어에서의 변수와는 차이가 있다. 자바를 예로 들면 자바는 변수를 선언하면서 선언된 자료형 만큼의 메모리를 확보한다. 더 정확하게 말하면 원시 타입(Primitive Type)에 해당하는 변수(int, double, boolean 등)를 선언하면 선언된 타입 만큼의 크기의 영역을 Stack 메모리에 선언한다. 그리고 객체와 메서드 같은 참조형 타입(Reference type)은 Heap 메모리에 실질적인 데이터가 저장되고 그 데이터의 주소값이 stack 메모리에 저장되는 형태이다. 하지만 파이썬의 변수는 다르다. 파이썬에서 변수는 타입에 의해 선언되는게 아닌 객..
1. 다른 컬렉션의 중복을 제거할 때 집합에 아이템은 한 번만 저장될 수 있다. 그래서 다른 컬렉션의 중복을 제거하기 위해 사용될 수 있다. 다만, 집합에는 순서가 없기 때문에 아이템들의 순서가 바뀔 수 있다. list_ = [1, 2, 2, 3, 3, 3, 4] list_ = list(set(list_)) list_ #--==>> [1, 2, 3, 4] 2. 가변 객체들 간의 차이를 구할 때 집합은 리스트, 문자열, 가변 객체들 간의 차이를 구하고 싶을 때 사용될 수 있다. 다만, 여기서도 집합의 비정렬 특성으로 인해 결과의 순서는 원본과 다를 수 있다. # 리스트의 차이 set([3, 5, 7]) - set([1, 2, 5]) #--==>> {3, 7} # 문자열의 차이 set('abcd') - se..
이 글은 파이썬 3 기준으로 작성되었다. 나누기 연산 / '/' 연산자는 나머지도 포함된 일반적인 나누기를 수행한다. // '//' 연산자는 소수 나머지 부분을 잘라내고, 정수 피연산자에 대해서는 정수를 반환하며, 부동 소수점 피 연산자가 하나라도 있는 경우에는 부동 소수점 수를 반환하는 반내림(Floor)를 수행한다. 반내림 vs 버림 // 연산자는 비공식적으로 버림(truncating) 나누기라고 불리지만, 반내림(Floor)나누기 라고 부르는 것이 더 정확하다. // 연산자는 낮은 값을 기준으로 나눈 결괏값의 소수 부분을 잘라낸다. 즉 / 나누기 결과에서 가까운 낮은 정수값을 의미한다. 이는 단순히 소수 부분을 잘라내는 것과는 차이가 존재한다. 특히 음수 값에 적용될 때 더 중요하다. 이 차이는 m..
if __name__ == "__main__" 이 구문을 단순하게 파이썬 파일 실행을 위한 구문이라고 외우기만 했었는데 __name__ 변수의 의미를 알면 이해가 되는 구문이어서 __name__ 변수에 대해 정리해보았다. __name__의 의미를 알기 위해서는 모듈과 스크립트를 알아야 해 아래에 간단하게 정리했다. 모듈과 스크립트 모듈과 스크립트 모두 파이썬 파일(.py)을 의미한다. 그렇지만 이 둘은 용도로 구분된다. 프로그램에서 필요한 변수들이나 함수들을 정의해 놓는 용도의 파일은 모듈이고, 실제 프로그램을 작동시키는 코드를 담은 용도의 파일은 스크립트이다. 즉, 모듈은 import 용도의 파일이고, 스크립트는 실행 용도의 파일이다. 아래의 예에서 area.py는 모듈이고 run.py는 스크립트이다...