본문 바로가기
AI Developer/Python

[파이썬] 변수와 입력

by 성 언 2022. 2. 20.

변수는 값을 저장할 때 사용하는 식별자입니다.

 

변수 만들기/ 사용하기

간단하게 pi라는 이름의 변수를 만들어 사용해보겠습니다.

>>> pi = 3.141592
>>> pi
3.141592

변수를 활용하는 방법은

1. 변수를 선언하는 방법

변수를 생성하는 것을 의미합니다. (원주율 값을 pi로 사용하겠다라고 선언하는 것)

2. 변수에 값을 할당하는 방법

변수에 값을 넣는 것을 의미합니다. (변수로 사용하겠다고 선언한 pi에 값을 넣는 것) 

= 는 '같다'는 의미가 아닌 우변의 값을 좌변에 '넣겠다', '할당하겠다' 라는 의미입니다.

3.변수를 참조하는 방법

변수에서 값을 꺼내는 것을 의미합니다. (변수 안에 있는 값을 사용하는 것을 '변수 참조')

 

 

 

+) 파이썬의 유연성

프로그래밍 언어 중 C, C++, 자바 등에서는 변수를 사용할 때 변수의 자료형에 대해 미리 선언해 주어야 합니다.

int Pi;

그러나 파이썬은 다른 프로그래밍 언어와는 다르게 자료형을 지정하지 않습니다.

따라서 같은 변수에 여러 종류의 자료형을 넣을 수도 있습니다.

a = "문자열"
a = True
a = 10

유연해서 좋다고 말할 수도 있지만 실수해서 TypeError가 발생 할 수도 있습니다.

 

 

I) 복합 대입 연산자

변수를 활용하면 기존의 연산자와 조합해서 사용할 수 있는 연산자가 있습니다.

이를 복합 대입 연산자라고 부릅니다.

>>> a += 10

이렇게 a += 10 이라고 사용하면 a = a + 10 이라고 하는 것과 같은 결과를 냅니다. 

예를 들어 숫자에 적용할 수 있는 복합 대입 연산자는 다음과 같습니다.

연산자 이름 설명
+= 숫자 덧셈 후 대입
-= 숫자 뺄셈 후 대입
*= 숫자 곱셈 후 대입
/= 숫자 나눗셈 후 대입
%= 숫자의 나머지를 구한 후 대입
**= 숫자 제곱 후 대입

문자열도 복합 대입 연산자를 사용할 수 있습니다.

연산자 이름 설명
+= 문자열 연결 후 대입
*= 문자열 반복 후 대입

 

 

II) 사용자 입력: input()

파이썬은 사용자로부터 데이터를 입력받을 때 input() 함수를 사용합니다.

 

input() 함수로 사용자 입력받기

사용자가 입력한 내용은 input 함수의 결과로 나오는데, 이 값은 다른 변수에 대입해서 사용할 수 있습니다.

print() 함수를 사용해서 변수에 제대로 대입되었는지 확인해 보겠습니다.

>>> string = input("인사말을 입력하세요: ")
인사말을 입력하세요: 안녕하세요
>>> print(string)
안녕하세요

input 과 같이 함수의 결과로 나오는 값을 리턴 값이라고 합니다.

 

input() 함수의 입력 자료형

input() 함수는 사용자가 무엇을 입력해도 결과는 무조건 문자열 자료형입니다.

(숫자를 입력해도 문자열로 들어온다는 의미)

>>> string = input("입력: ")
>>> print("입력 + 100:", string + 100)

TypeError: can only concatenate str

 

문자열을 숫자로 바꾸기 (캐스트)

문자열을 숫자로 변환할 때는 다음과 같은 함수를 사용합니다.

int() 함수: 문자열을 int 자료형으로 변환합니다.

float() 함수: 문자열을 float 자료형으로 변환합니다.

string_a = input("입력 A: ")      #12
int_a = int(string_a)

string_b = input("입력 B: ")      #345
int_b = int(string_b)

print("문자열 자료:", string_a + string_b)    #12345
print("숫자 자료:", int_a + int_b)           #357

 

+) 숫자가 아닌 것을 변환하려고 할 때 ValueError 예외가 발생합니다.

+) 소수점이 있는 숫자 형식의 문자열을 int() 함수로 변환하려고 할 때 ValueError 예외가 발생합니다.

int("안녕하세요")

int("5324.213")

 

숫자를 문자열로 바꾸기

str() 함수의 매개변수에 넣으면 문자열로 변환됩니다.

 

 

 

 

 

*유의사항

- 공부 중인 인공지능공학과 대학생이 정리해서 남긴 정리입니다.

- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.

댓글