리스트는 가변적인(mutable)이며, 요소를 추가하거나 제거할 수 있다.
튜플은 불변적인(immutable)이며, 요소를 추가하거나 제거할 수 없다.
파이썬에서는 모든 객체와 자료구조가 힙(Heap) 메모리에, 메소드와 변수는 스택(Stack)에 저장된다. 더이상 사용하지 않는 객체는 가비지 콜렉션에 의해 회수되며, 메소드는 리턴되면 스택에서 pop된다.
가변 객체
리스트, 딕셔너리
불변 객체
튜플, 스트링
Call by value
함수가 호출될 때 인자로 전달되는 값이 복사되어 전달된다. 따라서 함수 내에서 인자의 값을 변경하더라도, 원래 값에는 영향을 미치지 않습니다.
ex) 불변 객체가 인자로 전달될때
Call by reference
함수가 호출될 때 인자로 전달되는 값의 주소를 전달한다. 따라서 함수 내에서 인자의 값을 변경하면, 원래 값도 함께 변경된다.
ex) 가변 객체가 인자로 전달될때
자식 클래스가 상속을 이용하면 부모 클래스에 접근해 부모 클래스의 변수나 메소드를 사용할 수 있다. 클래스를 선언할때 괄호 안에 부모 클래스의 이름을 넣는 방식으로 상속받는다.
시퀀스를 입력으로 받고 인덱스와 원소가 묶인 튜플을 만들어준다.
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit)
0 apple
1 banana
2 cherry
값을 차례대로 꺼낼 수 있는 객체이다. 'next'메소드를 이용해 다음 값을 꺼낼 수 있다.