본문 바로가기
Python 코딩도장

파이썬 코딩도장 Unit 06 정리 : 변수와 입력

by chanfficial 2022. 1. 6.

Unit 06 

 

변수 이름을 만들 때 지켜야 할 것들

  • 영문 문자와 숫자를 사용할 수 있다.
  • 대소문자를 구분한다.
  • 처음은 문자부터 시작해야 한다.
  • _(밑줄 문자)로 시작할 수 있다.
  • 특수 문자(+, -, *, /, $, @,  %, & 등)는 사용할 수 없다.
  • 파이썬의 키워드(if, for, while, and, or 등)는 사용할 수 없다.

※ 수학에서의 =(등호)는 양 변이 같다는 뜻이지만 프로그래밍 언어에서 =는 변수에 값을 할당(assignment)한다는 의미이고, 수학에서의 등호와 같은 역할을 하는 연산자는 ==이다.

 

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

  • 변수명1, 변수명2, ... = 값1, 값2, ... 형식으로 변수를 ,(콤마)로 구분한 뒤 각 변수에 할당될 값을 지정해주면 된다.
  • 변수명과 값의 개수가 동일해야 한다.(동일하지 않으면 에러 발생)
    a, b, c, d = 1, 2, 3, 4
    
    print(a) # 1
    print(b) # 2
    print(c) # 3
    print(d) # 4​
  • 값이 같은 여러 개의 변수를 만드는 것은 아래와 같은 방식을 사용한다.
    a = b = c = 5
    
    print(a) # 5
    print(b) # 5
    print(c) # 5​
  • 변수1, 변수2 = 변수2, 병수1의 형식으로 두 변수의 값을 바꿀 수 있다.
    a, b = 10, 20
    a, b = b, a
    
    print(a) # 20
    print(b) # 10​

변수 삭제하기 : del

  • 생성한 변수는 del을 이용하여 삭제한다.
  • 변수 삭제 기능은 리스트 사용 시에 유용하다.
    a = 10
    del a
    print(a) # 에러 발생​

빈 변수 만들기 : None

  • 값이 들어있지 않은 빈 변수는 None을 할당하여 생성할 수 있다.
  • None은 아무것도 없는 상태를 나타내는 자료형이며, 다른 언어에서는 널(null)이라고 표현한다.
    a = None
    print(a) # None​

 

산술 연산 후 할당 연산자 사용하기

- 파이썬 셸에서 계산

>>> a = 10
>>> a + 10
30
>>> a
10
  •  a + 10은 a에 10만 더하고 계산 결과를 유지하지 않기 때문에 변수 한 개에서 값의 변화를 계속 유지하려면 계산 결과를 다시 변수에 저장(할당)해야 한다.
>>> a = 10
>>> a = a + 10
>>> a
30​

※ 연산 후 값을 할당 하려면 값이 들어있는 변수를 사용해야 한다.

 

부호 붙이기

  • 계산 시에 부호를 붙여야 하는 경우가 생기면, 값이나 변수 앞에 양수, 음수의 부호를 붙이면 된다
    >>> a = -10
    >>> +a
    -10
    >>> -a
    10​

input 함수 

  • input 함수는 사용자가 입력한 값을 가져오는 함수로, 매번 다른 값을 변수에 할당할 때 사용한다.
  • input()을 입력하고 엔터 키를 누르면 다음 줄로 넘어가는데, 이 상태에서 값을 입력하면 입력한 값이 그대로 출력된다.
    >>> input()
    Hello, world!
    'Hello, world!' # 출력​

input 함수의 결과를 변수에 할당하기

  • 변수 = input() 의 형식으로 함수의 결과를 변수에 할당한다.
    >>> x = input()
    Hello, world
    >>> x
    'Hello, world'
        - 여기서 한 가지 불편한 점은 input 함수가 실행된 다음에는 아무 내용이 없어서 입력을 받는 상태인지 출력이        없는 상태인지 알 수 가 없다는 점이다. 이 때는 변수 = input('문자열')의 형식으로 input의 괄호 안에 문자열          을 지정 해주면 된다.
  • 이 문자열 입력 방법은 사용자게에 입력받는 값의 용도를 미리 알려줄 때  사용한다. 다른 말로는 프롬프트(prompt)라고도 한다.(파이썬 프롬프트 >>> 와 같은 의미)
    >>> x = input('문자열을 입력하세요: ')
    문자열을 입력하세요: Hello, world! # (입력)
    >>> x
    'Hello, world!'

 

입력받은 숫자의 합 구하기

>>> a = input('첫 번째 숫자를 입력하세요 : ')
첫 번째 숫자를 입력하세요 : 1 # (입력)
>>> b = input('두 번째 숫자를 입력하세요 : ')
두 번째 숫자를 입력하세요 : 2 # (입력)
>>> a+b
'12'​

※ 1 + 2의 값이 3이 아니라 12가 나온 이유 : input에서 입력받은 값은 항상 문자열 형태이기 때문이다.

  • 입력받은 값들을 정수로 변환하는 방법 : input 앞에 int()를 붙여준다.(실수는 float())
    >>> a = int(input('첫 번째 숫자를 입력하세요 : '))
    첫 번째 숫자를 입력하세요 : 1 # (입력)
    >>> b = int(input('두 번째 숫자를 입력하세요 : '))
    두 번째 숫자를 입력하세요 : 2 # (입력)
    >>> a+b
    30​​

입력 값을 변수 두 개에 저장하기(입력 값이 2개 이상일 때)

  • 변수1, 변수2 = input().split()
  • 변수1, 변수2 = input().split('기준문자열')
  • 변수1, 변수2 = input('문자열').split()
  • 변수1, 변수2 = input('문자열').split('기준문자열')
>>> x, y = input('문자열 두 개를 입력하세요: ').split() 
# 입력받은 값을 공백을 기준으로 분리
>>> 문자열 두 개를 입력하세요: Hi chan # (입력)
>>> x
Hi
>>> y
chan

 -> input에 split을 사용하면 입력받은 값을 공백을 기준으로 분리하여 변수에 차례대로 저장한다.

  • 입력 받은 숫자를 정수로 변환하여 더하기
    >>> a, b = input('숫자 두 개를 입력하세요 : ').split()
    숫자 두 개를 입력하세요 : 10 20 # 입력
    >>> a = int(a)
    >>> b = int(b)
    >>> a+b
    30​

      -> 변수를 정수로 변환하려면 a = int(a) 처럼 int에 변수를 넣은 뒤 다시 변수에 저장해줘야 한다.

          혹은 아래의 방법도 괜찮다.

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

map을 사용하여 정수로 변환하기

  • split의 결과를 매번 int로 변환하는 것이 번거롭기 때문에 map을 함께 사용하는 것이 좋다.
  • map에 int와 input().split()을 넣으면 split의 결과를 모두 int로 변환해준다.
    1. 변수1, 변수2 = map(int, input().split())
    2. 변수1, 변수2 = map(int, input().split('기준문자열'))
    3. 변수1, 변수2 = map(int, input('문자열').split())
    4. 변수1, 변수2 = map(int, input('문자열').split('기준문자열'))
      >>> a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
      숫자 두 개를 입력하세요: 2 3 # 입력
      >>> a+b
      5

 

정리 참조 : https://dojang.io/course/view.php?id=7