
# 변수의 자료형을 정하지 않는다.
a = 1
type(a) # int
a = 3.14
type(a) # float
input() # 입력
print() # 출력
a = -3
abs(a) # 3 (절댓값)
divmod(8, 3) # (2, 2) -> 몫과 나머지가 동시에 튜플로 저장
3 ** 2 # 9 (제곱)
pow(3, 2) # 9 (제곱)
9 / 3 # 3.0 (float)
9 // 3 # 3 (int)
9.0 // 3 # 3.0 (float)
# 소숫점을 버린 후, 정수타입으로 계산. 출력값은 3.0
소수점 위치가 “고정”이 아니라, “떠다닌다(이동한다)”.
12345.6을 1.23456 x 10⁴ 처럼 "유효숫자"와 "지수"로 나눠서 저장하는 방식.
다만, 근사값으로 저장되는 경우가 많아서,
이런식으로 비슷하게 저장되는 경우가 생긴다.
float 타입도 부동소수점의 특징인, "떠다닌다"에 유래해 float로 정해졌다고 한다.
타입(자료형)이 동적으로 변하는 언어
a = 1로 초기화 후에, 다시 a = 1.1로 초기화가 가능하다.
Python은 동적 타입의 강타입 언어다.
Js같은 경우, 1 + "1"을 하면 "11"로 타입을 변환하여 계산되지만 (약타입),
Python은 에러가 발생하게 된다 (강타입). (암묵적 변환 지원 X)
a = [1, 2, 3, 4, 5, 6]
a[1:] # 2 3 4 5 6
a[1:3] # 2 3
a[:3] # 1 2 3
# 기본적으로 파이썬의 숫자 범위는 ~ 이상, ~ 미만이다.
for i in range (a, b) # a이상, b미만
→ 다양한 자료형을 넣을 수 있음. 조건도 가능.
a = [1, 2, 3, 4, 5, 6]
a = [1, 1.1, "test"]
a = [1, [1, 2, 3]]
labels = ["짝수" if x % 2 == 0 else "홀수" for x in nums]
→ ‘+’를 하면 주소가 바뀌고, ‘+=’를 하면 주소가 바뀌지 않는다.
a = [1, 2, 3]
b = [4, 5, 6]
a += b
id(a) == id(b) # True
a = a + b
id(a) == id(b) # False
→ 튜플과 리스트 간 변경 자유로움
→ 튜플 안에 가변 객체가 들어가 있으면 키(Key)로 사용 불가능
→ 초기화 시, 일부를 사용하지 않을 예정이면 언더바(_)로 대체
a = (1, 2, 3)
x, y, _ = a
→ 순서 X, 중복 X
→ 리스트와 다르게, add로 요소 추가 (리스트는 append)
→ Set과 List 변경이 자유로움 (단, List에서 Set으로 변경하면 중복 요소 제거)
→ 키(Key), 값(value)로 짝지어짐
→ 키가 중복될 경우, 마지막 하나만 남음.
→ 키는 불변객체만 사용가능 (단, float는 지양)