입력함수와 연산자에 대해 알아보도록 하겠다.
그리고 그에 필요한 두 가지 개념도 같이 알아보겠다.
(숫자형과 불(bool)형)
학습 목차는 아래와 같다.
- 입력함수 - input 함수
- (숫자형)
- (불(bool)형)
- 수식연산자
- 논리연산자
- 관계연산자
input 함수는 입력을 받는 함수이다.
일반적으로 값은 입력받는다는 것은 그 값을 저장해서 활용하겠다는 뜻이므로,
변수에 저장하는 형태로 함께 쓰인다.
A = input()
예시는 위와 같다.
어떤 데이터를 사용자로부터 입력받고, 그 값을 A라는 이름의 변수에 저장하라는 뜻이다.
별다른 조치 없이 input()함수로 입력을 받으면, 문자열로 받는다.
즉, 1을 입력했다면 이는 숫자 1이 아니라 문자 1로 저장된다는 뜻이다.
사용자로부터 입력을 받을 때, 무엇을 입력하는지 알려주고 싶을 때가 있다.
예를 들어서, '자신의 혈액형을 입력하세요 : '와 같이 말이다.
input함수는 이 기능을 지원한다.
인자로 출력하고 싶은 내용을 넘겨주면 된다!
blood_type = input("자신의 혈액형을 입력하세요 : ")
위 예시를 구현해보면 위와 같다.
input함수는 기본적으로 입력값을 문자열로 받는다.
따라서 숫자를 입력받고 싶을 때는 자료형을 변환시켜야 된다.
A = int(input())
B = float(input())
파이썬에서는 숫자를 여러가지 종류로 분류한다.
즉, 숫자에 대한 자료형이 여러개라는 뜻이다.
정수형은 말그대로 정수를 의미하며, int형이라고 한다.
실수형은 소수점이 포함된 숫자를 의미하며, float형이라고 한다.
복소수형은 호수를 포함한 수로, a + bi(a,b는 실수)와 같은 꼴의 값을 의미한다.
실수부는 변수.real이고 허수부는 변수.imag이다.
켤레복소수는 변수.conjugate()로 반환되지만, 거의 사용되지 않는다.
16진수는 Hex의 x를 따와서 0x@@@@와 같은 꼴로 표현하고,
2진수는 1과 0으로 표현한다.
이 모든 수는 형 변환 없이 연산 가능하며, 10진수로 출력된다.
a = 123
b = 3.14
c = 10 + 20j
d = 0xAA #170
print(a, type(a))
print(b, type(b))
print(c, c.real , c.imag, c.conjugate(), type(c))
print(d, type(d))
print(a + b, type(a + b))
print(c + d, type(c + d))
추가로 불(bool)형이 있다.
이는 True와 False의 자료형이다.
프로그램의 실행 흐름을 제어할 때 사용되고, 조건문과 같이 쓰이는 것이 보편적이다.
True와 False를 다룰 때 주의해야할 점은, 주어진 조건에 대한 참/거짓뿐만 아니라
값의 존재 여부에 따라서 또한 판별한다는 점이다.
예시는 위와 동일하다.
a = True
if (a) :
print("참")
else :
print("거짓")
if 1 :
print("참")
else :
print("거짓")
if "" :
print("참")
else :
print("거짓")
if [] :
print("참")
else :
print("거짓")
수식연산자는 두 개의 피연산자(연산을 당하는 값)를 요구하는, 이항연산자(binary operator)이다.
그리고 위 연산자 중에서 일부는 겹쳐서 사용할 수 있는데, 이때 다른 의미를 가지므로 주의하도록 하자.
print(1+2)
print(1-2)
print(1*3)
print(6/4)
print(1//4)
print(1%5)
print(2**6)
논리연산자는 수학에서의 집합의 연산과 동일하다.
(합집합, 교집합, 차집합)
a = True
b = False
print("true and false :", a and b) #False
print("true and true :", a and a) #True
print("true or false :", a or b) #True
print("false or false :", b or b) #False
print("not true :", not a) #False
관계연산자는 두 값의 크고 작음, 그리고 같음을 따지는 연산자이다.
(대소관계와 일치를 따지는 연산자이다.)
이는 참과 거짓(True, False)를 결과값으로서 반환하므로, 주로 조건문에서 자주 쓰인다.
print("100 == 100 :", 100 == 100) #True
print("100 == 200 :", 100 == 200) #False
print("100 != 100 :", 100 != 100) #False
print("100 != 200 :", 100 != 200) #True
print("0 < 9 :", 0 < 9) #True
print("0 > 9 :", 0 > 9) #False
print("0 >= 9 :", 0 >= 9) #False
print("0 <= 0 :", 0 <= 0) #True