2023. 1. 18. 17:44ㆍ파이썬
2.1 파이썬 데이터는 객체다
컴퓨터는 모든 것이 비트입니다.
개발자가 정의한 타입에 따라 같은 비트는 다른 것을 의미하게 됩니다.
=> 비트 패턴 속 정수 65는 텍스트 문자 A를 나타냅니다.
다른 타입은 다른 수의 비트를 사용합니다.
파이썬은 데이터 값을 메모리에 객체로 래핑합니다.
메모리 선반 비유법.
객체는 선반에서 공간을 차지하는 가변 크기 상자입니다.
파이썬은 이 상자를 만들어서 선반의 빈 곳에 놓고 더 이상 사용하지 않을 때 제거해줍니다.
파이썬에서 객체는 최소한으로 다음을 포함하고 있는 데이터 덩어리입니다.
- 타입 정의 # 상자에 있는 공장 스탬프와 같음
- 다른 객체와 구별하기 위한 고유 ID # 선반 위의 위치와 같은 고유 식별자
- 타입과 연관된 값 # 투명 상자 안의 내용
- 객체의 사용 빈도 추적하는 참조 횟수
=> 파이썬 객체가 정수라면 타입은 int
2.2 타입
2.3 가변성 ( Mutable? Immutable?)
타입에 따라 상자에 포함된 데이터 값을 변경할 수 있거나 일정하게 유지할 수 있습니다.
불변 객체는 밀봉된 상자
- 값 보기 : O
- 값 변경 : X
가변 객체는 뚜껑이 있는 상자
- 값 보기 : O
- 값 변경 : O
파이썬은 strong type 언어입니다.
이 의미는 값은 변경 가능하지만, 객체의 타입은 변경할 수 없다는 것입니다.
파이썬에서 데이터 값을 명시하는 두가지 방법
- 리터럴
- 변수
2.4 리터럴 값
2.5 변수
파이썬 변수 이름을 정의할 때는
소문자, 대문자, 숫자, 언더바(_)만 사용가능 합니다.
대소 문자를 구분하기 때문에
love와 LOVE는 다른 변수가 됩니다.
2.6 할당
파이썬은 =를 사용하여 변수에 값을 할당합니다.
수학에서의 기호 =는 "양변이 같다"는 것을 의미하지만,
프로그램에서는
오른쪽 값을 왼쪽 변수에 대입함을 의미합니다.
x = 5
y = x + 12
x=5
변수 x에 5를 대입합니다.
y=x+12
x가 참조한 객체 값인 5를 가져와서 변수 x에 대입합니다.
5 + 12를 계산합니다.
계산 결과 17을 y에 대입합니다.
2.7 변수는 장소가 아니라 이름이다
변수는 단지 이름입니다.
값을 복사하는 게 아니라 그 값을 가리키고 참조하고 있을 뿐입니다.
객체 자체가 아닌 객체에 대한 참조입니다.
type() 메서드 : 변수의 타입을 알고 싶다.
print(type(7))
<class 'int'>
isinstance() 내장함수 : 변수가 특정 타입의 객체를 가리키는지 확인하고 싶다.
print(isinstance(7, int))
True
2.8 여러 이름 할당하기
두 개 이상의 변수 이름에 동시에 값을 지정할 수 있습니다.
two = deux = 2
print(two)
print(deux)
2
2
2.9 이름 재할당
이름은 객체를 가리키기 때문에 이름에 지정된 값을 변경하면 이름이 새 객체를 가리킵니다.
2.10 복사
두 이름이 모두 가변 객체를 가리킨다면, 두 이름 중 하나를 통해 객체 값을 변경할 수 있습니다.
1. 두 이름 모두 불변 객체를 가리킬 경우 // 불면객체 int
x = 5 # 불변객체 5
y = x
print(y) # 5출력
x = 9
print(x) # 9 출력
print(y) # 5 출력
2. 두 이름 모두 가변 객체를 가리킬 경우 // 가변객체 list
a = [2, 4, 6]
b = a
print(a)
print(b)
a[0] = 99
print(a)
print(b)
[2, 4, 6]
[2, 4, 6]
[99, 4, 6]
[99, 4, 6]
'파이썬' 카테고리의 다른 글
[처음 시작하는 파이썬] ch5. 연습문제 (0) | 2023.01.20 |
---|---|
[처음 시작하는 파이썬] ch4. 연습문제 (0) | 2023.01.19 |
[처음 시작하는 파이썬] ch4. 선택하기: if (0) | 2023.01.19 |
[처음 시작하는 파이썬] ch3. 숫자 (4) | 2023.01.18 |
[파이썬] 여러가지 스타일로 문자열 포매팅 하는 방법 [%s, format(), f스트링] (0) | 2023.01.18 |