TIL(22.09.13) - Python mutable vs immutable

이지영·2022년 9월 13일
0

TIL/WIL

목록 보기
12/110

내일배움캠프 AI

오늘 한 일

파이썬 문법 실시간 강의
파이썬 과제 (class이용) git
알고리즘 실습

내일 할 일

파이썬 문법 실시간 강의
파이썬 과제
알고리즘 실습

강의 정리하기

파이썬 심화
🌟🌟 class 🌟🌟

  • class에 대한 이해
    1) __init__ 함수 : class에 __init__메소드를 사용할 경우 인스턴스 생성 시 해당 메소드가 실행된다.
    self는 class 안에서 사용할 수 있는 전역변수

🌟🌟 mutable 자료형과 immutable 자료형 🌟🌟

  • muteble은 값이 변한다는 의미이며, immutable은 값이 변하지 않는다는 의미
  • immutable 속성을 가진 자료형 ->int, float, str, tuple
  • mutable 속성을 가진 자료형 -> list, dict

👇 list 자료형은 주소를 공유한다 👇

immutable = "String is immutable!!"
mutable = ["list is mutable!!"]
string = immutable
list_ = mutable
string += " immutable string!!"
list_.append("mutable list!!")
print(f"id:{id(immutable)} / {immutable}")
print(f"id:{id(mutable)} / {mutable}")
print(f"id:{id(string)} / {string}")
print(f"id:{id(list_)} / {list_}")
출력
id: 3057398255248 / String is immutable!!
id: 3057398241032 / ['list is mutable!!', 'mutable list!!']
id: 3057398134800 / String is immutable!! immutable string!!
id: 3057398241032 / ['list is mutable!!', 'mutable list!!']

리스트는 주소를 공유하기 때문에 값을 추가했을때 추가된 내용이 출력된다
-> 리스트값을 복사해서 사용하고 싶을때 deepcopy() or [ : : ]
딕셔너리 deepcopy()

야구게임 과제

두개 헷갈리지 않기!
random.randrange(1, 10) -> 1부터 9까지의 정수 중 랜덤으로 하나
random.randint(1, 10) -> 1부터 10까지의 정수 중 랜덤으로 하나

set 자료형은 작은수일때 정렬을 해주지만 숫자의 크기가 커지면 정렬을 하지 않는다.

가독성 1위! 다음은 코드가 길어질때는 (10만자리숫자 뽑기) 실행시간을 비교해서 짧은걸 사용!

알고리즘 실습

  • 백준 단계별 문자열

느낀점

연휴동안 학습을 많이 못한만큼 이번주에 더 힘내서 복습을 해야겠다. 파이썬 심화부분 수업을 들어가니 확실히 어려움 많이 사용해보고 내것으로 만들기!!

profile
🐶🦶📏

0개의 댓글