Note:
- 파이썬에서 슬라이싱은 시퀀스 데이터 타입(list, tuple, str)의 일부를 추출하는 방법입니다.
슬라이싱은 인덱스를 사용하여 원하는 범위의 요소를 선택하는데 유용합니다.
일반적으로
seq[start_index:end_index:step]으로 사용합니다.
이러한 방법으로 데이터를 유연하게 추출하고 조작할 수 있도록 합니다.
- seq[start_index : end_index : step]
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset = my_list[2:7]
# [2, 3, 4, 5, 6]
subset = my_list[:9]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset = my_list[0:7:2]
# [0, 2, 4, 6]
subset = my_list[::2]
# [0, 2, 4, 6, 8]
subset = my_list[::-1]
# [9, 8, 7, 6, 5, 4, 3, 2, 1]
Note:
- java에서는 변수 앞에 자료형을 명시해야하며 이를 정적타입이라고 합니다. 변수 생성과 동시에 자료형이 결정되며 이후 자료형을 변경할 수 없습니다.
그에 반해 python 변수 할당은 동적 타입입니다. 코드에 의해 변수의 자료형이 결정 된다는 차이점이 있습니다.
int a;
a = 1; // 가능
// a = "1"; 불가 error 발생
a = 1 # (int type)
a = "1" # (str type)
a = [1, 2, 3] # (list type) 모두 가능
Note:
- python의 float 자료형은 64비트(8바이트)를 사용해 표현합니다.
맨 앞비트는 +, - (양, 음)을 나타내고 이후 11비트는 정수를 나타냅니다.
나머지 52비트가 소수를 나타냅니다.
소수가 52비트로 정확히 표현되지 않을 때 52비트를 모두 사용하여 근사치를 이용할 수 있습니다.
따라서, 정확한 값이 아닌 근사치를 이용하기 때문에 연산시 오차가 발생합니다.