Python의 기본 - 인풋 함수와 연산자 (3)

2026. 4. 22. 18:47AI/Python

Python에서 인풋 함수란, 키보드에서 입력을 받아 사용하는 함수이다.

 

프로그램 실행 중에, 사용자가 값을 입력하면, 입력 값이 문자열로 반환되어 변수에 저장하거나 처리할 수 있다.

 

여기서 사용자는 디버깅할 때 프로그램을 이용하는 개발자 정도로 이해하자.

 

input을 통해 받은 변수는 다음과 같이 표현한다.

 

name = input()

 

특이한 점은 다른 언어와 달리 변수를 받을 때  변수1, 변수2, 변수3 = 변수1값, 변수2값, 변수3값  형태로 표현할 수 있다는 것.

 

이를 이용해 input 값 받을 때도 변수를 아래와 같은 식으로 받아올 수 있는 것이다.

name, age, weight = input("이름, 나이, 몸무게를 차례대로 입력하시오").split()

 

print 함수

 

프린트 함수는 콘솔에 출력을 표시하는 가장 기본적인 함수이다.

 

프로그램 실행 중 생성된 값을 사용자(개발자)에게 보여주거나 디버깅할 때 매우 유용하다.

 

1. sep 옵션

 

sep 옵션은 변수들을 여러 개 출력할 때, 각 변수들을 구분하는 기호를 설정해주는 것인데

 

기본 값은 공백 값이다.("  ") sep 옵션을 통해 구분하는 기호를 바꿔줄 수 있다.

 

 print(10,20,30,40,sep=" ") # 기본값
 print(10,20,30,40,sep="✌️") # 10✌️20✌️30✌️40

 

2. end 옵션

 

end 옵션은 print를 여러 줄 출력할 때 출력을 연결시키는 기호를 설정해주는 것이다.

 

기본 값은 역시 공백 값이다("  ") end 옵션을 통해 구분하는 기호를 바꿔줄 수 있다.

print("Hello",end=" ")
print("Python!",end="\n")
# Hello Python!

 

이스케이프 문자

 

이스케이프 문자는 문자열의 특수한 기능을 수행하도록 하는 문자이다.

 

이스케이프 문자는 백 슬래시(\)로 시작해 그 뒤에 이어지는 문자가 특정 기능을 수행한다.

 

  1.  줄바꿈을 나타내는 기호 (\n)
  2.  탭 문자를 나타내는 기호 (\t)
  3.  백 슬러시 자체를 나타내고 있는 기호 (\\)
  4.  문자열을 출력한 후 커서를 줄의 처음으로 이동시키는 기호 (\r)
  5.  백 스페이스를 나타내고, 문자열 내에서 한 글자를 삭제하는 기호 (\b)
출력 서식

 

Python의 print() 함수에서 서식 지정을 통해 출력 형식을 지정한다.

 

1. 서식 지정자

num = 255
pi = 3.141592
name = "김사과"

print("문자열 출력하기: %s" % name) # 문자열 출력
print("정수 출력하기: %d" % num) # %s로 하면 자동으로 형 변환해서 문자열로 바꿔줌(허용)
print("실수 출력하기: %f" % pi) # 소수점 6째 자리까지
print("소수점 자리 지정하기: %.2f" % pi) # 소수점 2째 자리까지
print("16진수 출력하기: %x" % num) # 16진수 출력
print("0 채움 정수 : %05d" % 42) # 총 5자리의 숫자 중 0을 채워주는 숫자
print("여러 값을 출력하기: %s %d %.2f" % (name, num, pi)) # 튜플로 찍어주기

 

2. str.format() 메소드

num = 255
pi = 3.141592
name = "김사과"

print("기본 출력: {}".format(name))
print("숫자 출력: {:d}".format(num))
print("실수 출력: {:f}".format(pi))
print("문자열 출력: {:s}".format(name))
print("16진수 출력: {:x}".format(num))
print("0 채움 정수: {:05d}".format(42))
print("소수점 자리 지정: {:.2f}".format(pi))
print("전체길이 + 소수점: {:10.2f}".format(pi))

 

3. f-string

name = "김사과"
age = 20

print(f"이름은 {name}이고, 나이는 {age}입니다.")

a = 10
b = 20
c = 3.141592

print(f"{a} + {b} = {a + b}")
print(f"{pi}를 소수 둘째 자리까지 표현해보자: {pi:.2f}")

 

연산자

 

연산자는 값을 계산하거나 비교하고, 논리 판단을 수행하기 위해 사용되는 기호로

 

데이터 간의 연산을 간결하게 표현할 수 있게 해준다.

 

1. 산술 연산자

print(10 + 3)
print(10 - 3)
print(10 * 3)
print(10 / 3) # 2의 보수 관련 이슈
print(10 / 2) # 결과값은 무조건 실수임.
print(10 // 3)
print(10 % 3)
print(10 ** 3)

 

2. 비교 연산자

 

주로 두 값을 비교하는데 사용되고, 두 값은 항상 불리언(Boolean)이다.

 

3. 할당 연산자

num = 10

num += 1 # num = num + 1
print(num)
num -= 1 # num = num - 1
print(num)
num *= 10 # num = num * 10
print(num)
num /= 10
print(num)
num %= 2
print(num)

 

4. 비트 연산자

 

정수를 이진 비트로 표현했을 때 사용하는 연산자로써 정수의 비트 단위로 동작한다.

 

전체 자릿수를 대략 8 bit라고 가정했을 때 가장 처음에 있는 비트는 부호 비트로 설정하고

 

(0일 경우 양수, 1일 경우 음수)

 

각각 비트 단위로 연산하는 것을 말한다.

 

print(a & b)  # 12, 즉 1100 비트단위 AND
print(a | b)  # 61, 즉 111101 비트단위 OR
print(a ^ b)  # 49, 즉 110001 비트단위 XOR
print(~a)  # -61 NOT 연산
print(a << 2)  # 240, 즉 11110000 왼쪽으로 2비트 이동
print(a >> 2)  # 15, 즉 1111 오른쪽으로 2비트 이동

 

5. 논리 연산자

 

주로 Boolean 값을 조작하기 위해 사용하나 피연산자의 결과값을 반환할 때도 사용한다. (NOT일때는 불린 값만 반환)

 

이 때, Truthy한 값과 Falsy한 값도 알아두어야 한다.

 

a = True
b = False

# AND 연산 (둘 다 True일 때만 True)
print("a and b:", a and b)

# OR 연산 (하나라도 True이면 True)
print("a or b:", a or b)

# NOT 연산 (값을 반대로)
print("not a:", not a)
print("not b:", not b)

# and
print(True and 3)       # 3
print(3 and 5)         # 5
print(0 and 5)         # 0

# or
print(False or 3)      # 3
print(3 or 5)          # 3
print(0 or 5)          # 5

# not
print(not True)        # False
print(not 0)           # True
print(not 3)           # False

 

Truthy and Falsy

 

Truthy : True한 값으로 평가되는 항목

  • 0이 아닌 숫자
  • 비어 있지 않은 문자열
  • 비어 있지 않은 리스트
  • 비어 있지 않은 튜플
  • 비어 있지 않은 셋
  • 비어 있지 않은 딕셔너리

Falsy : False한 값으로 평가되는 항목

  • 0
  • 빈 문자열
  • 빈 리스트
  • 빈 튜플
  • 빈 셋
  • 빈 딕셔너리
  • None