파이썬 3

[Python] copy(), deepcopy()의 차이 / 파이썬으로 list, array값 복사하기

알고리즘을 짜다보면 값을 복사해둬야 할 때가 있다. Input 센서 값을 알고리즘에서 활용하거나, 하나의 배열(array)값을 여러 곳에 쓰거나 등등 다양한 이유가 있다. 1. copy() - Python 기본 내장 함수 단순히 같은 값을 가진 1차원 시퀀스에 대해서는 파이썬의 내장 함수인 copy()를 쓰면 된다. a = [1, 2, 3] b = a.copy() print(a) # [1, 2, 3] print(b) # [1, 2, 3] a[0] = 4 print(a) # [4, 2, 3] print(b) # [1, 2, 3] 위 코드 블럭을 보면 알 수 있듯이 이렇게 복사한 list에 대해서는 값을 바꿔도 원본 list 의 값은 변하지 않는다. 즉, 이미 copy 된 list는 더 이상 원본 list에..

Python 2021.09.16

[Python] 비교 연산자와 논리 연산자의 Boolean 값 차이 (==, !=와 is, is not의 차이)

Python뿐만 아니라 프로그래밍 언어에서 비교 연산자, 논리 연산자는 알고리즘을 짜기 위한 기초이다. 그런데 기초라고 생각하다가 문득 Python의 ==, !=와 is, is not의 차이가 무엇인지 모른다는 생각을 했다. 우선 둘의 결과 bool값을 비교해보면 다르다. print(12 == 12.0) # result: True print(12 is 12.0) # result: False 12랑 12.0은 유효 숫자가 다르니까 다른 값 같기도 하고, 그냥 같은 값 같기도 하다. 부정의 비교 연산자와 논리 연산자로 표현하면 다음과 같다. print(12 != 12.0) # result: False print(12 is not 12.0) # result: True 이유를 말하자면, - 비교 연산자 (==,..

Python 2021.08.31

[Python] 파이썬 객체지향 프로그래밍 / 클래스, 인스턴스, 메서드 정리

가장 자신 있는 프로그래밍 언어는 파이썬인데 안타깝게도 class 쓰는 것에 자신이 없었다...... 그래도 오늘 여유가 나서 클래스, 매서드 등을 정리해보고 앞으로는 객체 지향 프로그래밍을 해보기로 마음 먹었다. 1. Class (클래스), Instance (인스턴스) class라는 건 객체의 종류로, 'instance'라는 개념과 대조되어 사용된다. 예를 들어 나는 집을 정의해주고 싶다. 그래서 House라는 class를 만들어줄 수 있다. 이 클래스가 지칭하는 특정한 집은 없지만, House라는 개념을 만들어줬다고 생각하면 된다. 그리고 House 중에서도 철수와 영희네 집이 있을 수 있는데, 이런 특정한 집은 'instance(인스턴스)'라고 부른다. 2. Method (메서드) 이런 클래스 내에..

Python 2021.07.16
728x90