data life

파이썬 - 변수 본문

python3

파이썬 - 변수

주술회전목마 2022. 6. 20. 17:38

변수가 생성되는 동시에 값이 할당(저장)

🔆 규칙

  • 영문 문자와 숫자 사용 가능
  • 대소문자 구분 가능
  • 문자부터 시작
  • _(밑줄 문자)로 시작 가능
  • 특수 문자(+, -, *, /, $, @, &, % 등)는 사용 불가
  • 파이썬의 키워드(if, for, while, and, or 등) 사용 불가
❓기호는 같다는 뜻 아닌가요?

수학에서는 =(등호) 기호는 양 변이 같다는 뜻이지만

프로그래밍 언어에서 =는 변수에 값을 할당(assignment)한다는 의미입니다.

수학의 등호와 같은 역할을 하는 연산자는 ==입니다.

 

1-1. 변수 여러 개를 한 번에 만들기

>>> x, y, z = 10, 20, 30
>>> x
10
>>> y
20
>>> z
30

❗️변수와 값의 개수가 맞지 않으면 이렇게 에러가 발생

 

1-2. 변수 삭제하기

del 변수 이용

 

1-3. 빈 변수 만들기

변수에 none 지정

>>> x = None
>>> print(x)
None

 

 

 

 

2. 변수 계산하기

>>> a = 10
>>> a = a + 20    # a와 20을 더한 후 결과를 다시 a에 저장
>>> a
30

a += 20을 이용하여 a = a + 20을 축약

뺄셈(-=), 곱셈(*=), 나눗셈(/=, //=), 나머지(%=)도 같은 방식

>>> a = 10
>>> a += 20    # a와 20을 더한 후 결과를 다시 a에 저장
>>> a
30

 

 

 

3. 변수에 입력값 저장하기

❓매번 다른 값을 변수에 할당하려면 어떻게 해야 할까요?

  • input()
>>> input()
Hello, world!
'Hello, world!'

input 함수는 사용자가 입력한 값을 가져오는 함수이므로 입력한 문자열을 그대로 출력해줌

 

  • 변수 = input()
>>> x = input()
Hello, world!
>>> x
'Hello, world!'

여기서 한 가지 단점....

input 함수가 실행된 다음에는 아무 내용이 없기 때문에 입력을 받는 상태인지 출력이 없는 상태인지 구분할 수 없다.

이때는 다음과 같이 input의 괄호 안에 문자열을 지정해주면 됩니다.

 

  • 변수 = input('문자열')
>>> x = input('문자열을 입력하세요: ')
문자열을 입력하세요: Hello, world! 
>>> x
'Hello, world!'

이 문자열은 사용자에게 입력받는 값의 용도를 미리 알려줄 때 사용합니다. 다른 말로 프롬프트(prompt)라고도 부릅니다.

 

응용

a = int(input('첫 번째 숫자를 입력하세요: '))    # int를 사용하여 입력 값을 정수로 변환
b = int(input('두 번째 숫자를 입력하세요: '))    # int를 사용하여 입력 값을 정수로 변환
 
print(a + b)
첫 번째 숫자를 입력하세요: 10 (입력)
두 번째 숫자를 입력하세요: 20 (입력)
30

 

❓ input() 한 번에 값을 여러 개 입력받으려면 어떻게 해야 할까요?

=> split을 사용한 변수 여러 개에 저장해주면 됩니다(각 변수는 콤마로 구분해줍니다).

  • 변수1, 변수2 = input().split()
  • 변수1, 변수2 = input().split('기준문자열')
  • 변수1, 변수2 = input('문자열').split()
  • 변수1, 변수2 = input('문자열').split('기준문자열')
a, b = input('문자열 두 개를 입력하세요: ').split()    # 입력받은 값을 공백을 기준으로 분리
 
print(a)
print(b)
문자열 두 개를 입력하세요: Hello Python (입력)
Hello
Python

 

입력 값을 정수로 변환하기

a, b = input('숫자 두 개를 입력하세요: ').split()    # 입력받은 값을 공백을 기준으로 분리
a = int(a)    # 변수를 정수로 변환한 뒤 다시 저장
b = int(b)    # 변수를 정수로 변환한 뒤 다시 저장
 
print(a + b)

or

print(int(a) + int(b))

사실 위의 방식은 일일히 입력값을 변환해주어야 합니다.

이때, map을 이용하여 주면 한번에 변환 가능하여 코드를 짧게 줄일 수 있습니다.

a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
 
print(a + b)
숫자 두 개를 입력하세요: 10 20 (입력)
30

'python3' 카테고리의 다른 글

파이썬 - 출력  (0) 2022.06.20
파이썬 - 숫자 자료형  (0) 2022.06.20