Python list 관련
b = [1, 2, 3] print(f'{b = }') -> b = [1, 2, 3] print(f'b = {b}') 로 하지 않고 {b = } 으로만 해도 b = [1, 2, 3] 로 출력된다. b[1] = ['a', 'b', 'c'] print(f"b[1] = ['a', 'b', 'c'] 인 경우 {b = }") -> b[1] = ['a', 'b', 'c'] 인 경우 b = [1, ['a', 'b', 'c'], 3] b[1:2] = ['a', 'b', 'c'] print(f"b[1:2] = ['a', 'b', 'c'] 인 경우 {b = }") -> b[1:2] = ['a', 'b', 'c'] 인 경우 b = [1, 'a', 'b', 'c', 3] list의 값을 변경하고 싶을 때에는 인덱스 접근이 아..
2022. 6. 13.
Python mutable, immutable, 클래스 default param, 얕은복사
클래스 내부에 default param을 넣고 싶으면 __init__ 메소드에 넣으면 된다. mutable(가변) : list, dic, set, class immutable(불변) : 숫자, string, tuple None 메소드에 default param 설정할 때 def aaa(data = p[1, 2, 3]): 처럼 mutable object가 들어가면 얕은 복사가 일어난다. taxi2와 taxi3 인스턴스를 만들 때 아무 값도 주지 않아 __init__ 메소드에서 customer = [] 가 사용되었다. 이 때 []는 mutable object(list) 여서 얕은 복사가 일어나 taxi2와 taxi3가 같은 [] 를 가리키게 된다. 출처 https://testspoon.tistory.com/..
2022. 6. 12.