-
4.1 대입 및 산술
- 대인 연산자
변수 = 수식
형식으로 = 기호 왼쪽에 값을 저장할 변수를 적고 오른쪽에 이 변수에 저장할 값이나 수식을 적는다. 수식은 값이 결정되어 있어야 한다.
b = c * d * e -> c, d, e 값이 정의되지 않은 상태에서 읽기 시도 -> error
print(value) -> ~ is not defined error -> 정의하지 않고 읽기 시도
- 산술 연산자
정수 / 정수 -> 실수 값
연산자 설명 ** 거듭제곱 // 정수 나누기 (몫) % 나머지 11 ** 2 -> 11^2 5 // 2 -> 2 8 % 4 -> 0 => 배수 판별에 쓰임
- 복합 대입 연산자 (현재의 값을 조작해서 update하는 개념)
+=, -=, *=
C나 자바는 ++, -- 연산자가 있는 반면 파이썬은 이 연산자가 없으므로 a += 1 or a -= 1을 주로 사용한다.
4.2 타입 변환
- 문자열 연산
산술 연산자는 수치형에 사용하는 일이 보통이지만 +와 * 연산자는 문자열에서도 사용 가능하다. 문자열에 + 연산을 수행하면 두 문자열을 연결한다. + 연산자로 문자열을 연결할 때 양쪽 피연산자는 모두 문자열이어야 한다. 문자열과 수치형은 연결하기 위해 변환이 필요하다.
print(s1 + s2)
문자열에 * 연산자로 정수를 곱하면 문자열을 정수 횟수만큼 반복한다. * 연산자의 좌변은 문자열이어야 하고, 우변은 정수여야 한다.
print("yes" * 5) # yesyesyesyesyes
- 정수와 문자열
정수와 문자열을 연결하기 위해선 str 함수로 숫자를 문자열로 바꾼 후 연결해야 한다.
print("korea" + str(2002)) #korea2002
수학적 계산에 사용하기 위해서는 문자열을 숫자로 변형하면 된다.
print(10 + int("22")) # 32
int()는 문자열 안에 숫자만 들어있어야 변환할 수 있다. 실수 또한 소수점이 있으므로 정수가 아니다.
print(10 + int("2.2")) -> error
int(정수, 진법) -> 어떤 집법으로 해석할 지
int() 함수의 두 번째 인수로 진법을 지정하는데 생략하면 문자열을 10진수로 해석한다.
int("1a", 16) # 26 int("15", 8) # 13
- 실수의 변환
실수의 변환은 float() 함수를 사용한다. 문자열 안에는 부호와 숫자, 소수점 등으로 구성된 고정 소수점 실수나 "314e-2" 등의 부동 소수점 형식으로 저장되어 있어야 한다.
float() -> 실수 변환 함수 round(숫자 [, 반올림 자리수]) -> 실수 반올림 함수
print(int(2.54)) # 2 print(round(2.54)) # 3 print(round(2.54, 1)) # 2.5 print(round(123456, -3)) # 123000
int(실수)는 소수점을 버리고, round(실수)는 반올림한다고 생각하면 될 것 같다.
음수의 자리도 지정할 수 있는데 -3은 1000의 자리까지 유효한 값으로 변환하라는 뜻이다.
str() -> 문자열로
float() -> 실수로
int() -> 정수로
이외에도 bool, list, tuple, dict 등의 변환 함수가 있으며 컬렉션끼리도 서로 형태를 바꿔가며 변환 가능하다.