본문 바로가기

자기계발/IT

[파이썬] '혼자 공부하는 파이썬' 독학 - Chapter 2 자료형 (4)

반응형

02-3 변수와 입력

 

변수: '변할 수 있는 자료'. 숫자뿐만 아니라 모든 자료형을 의미. 파이썬에서는 변수를 생성하는 그 자체가 사용하겠다고 선언하는 것. 변수에는 모든 자료현의 값 저장 가능. 값을 저장할 때 사용하는 식별자.

ex) 파이썬에서는 pi라는 이름의 상자(저장공간)를 만든 후, pi 상자 내부에 값을 넣어 놨다가 필요할 때 이를 호출하여 사용. 이때 'pi'를 '변수'라고 하며, 모든 자료형 저장 가능.

 

변수 만들기/사용하기

>>> pi = 3.14159265
>>> pi
3.14159265

 

<변수를 활용하는 방법>

 

첫째, 변수를 선언하는 방법

- 변수를 생성하는 것을 의미. pi를 '사용하겠다'라고 선언.

둘째, 변수에 값을 할당하는 방법

- 변수에 값을 넣는 것을 의미. pi=3.14159265. =기호는 우변의 값을 좌변에 '넣겠다', '할당하겠다'를 의미.

셋째, 변수를 참조하는 방법

- 변수에서 값을 꺼내는 것을 의미. 변수 안에 있는 값을 사용하는 것을 '변수 참조'라 함.

 

<변수를 선언, 값을 할당, 참조하는 형식>

 

변수 선언 및 할당

파이썬에서는 변수 이름을 적어주면 그 자체로 사용하겠다는 선언을 하는 것. 여기에 =을 입력하고 값을 입력하면 값을 변수에 할당하는 것이 됨.

변수 = 값
>>> pi = 3.14159265

변수 참조

변수를 참조할 때(선언한 변수를 사용할 때)는 참조할 위치에서 변수 이름을 써준다.

 

변수에 저장된 값을 출력

변수
>>> pi

변수에 저장된 값으로 연산

변수 + 변수
>>> pi + pi

변수에 저장된 값을 출력

print(변수)
>>> print(pi)

예시)

>>> pi = 3.14159265
>>> pi + 2
5.14159265
>>> pi - 2
1.1415926500000002
>>> pi * 2
6.2831853
>>> pi / 2
1.570796325
>>> pi % 2
1.1415926500000002
>>> pi * pi
9.869604378534024

 

※ 파이썬의 유연성

파이썬은 다른 프로그래밍 언어와는 다르게 변수에 자료형을 지정하지 않음. 같은 변수에 여러 종류의 자료형을 넣을 수 있다.

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

유연해서 좋다고 말할 수도 있겠지만, 오히려 이러한 유연성 때문에 변수에 어떠한 자료형이 들어 있는지 모르고 실수해서 실행 중에 TypeError를 발생할 확률이 높다. 그러므로 하나의 변수에는 되도록 하나의 자료형을 넣어 활용하는 것이 좋다.

 

복합 대입 연산자

 

변수는 내부에 들어있는 자료의 연산자들을 사용 가능.

문자열이 들어 있으면 문자열과 관련된 연산자 사용 가능, 숫자가 들어 있으면 숫자와 관련된 연산자 사용 가능.

복합 대입 연산자: 변수를 활용하면 기존의 연산자와 조합해서 사용할 수 있는 연산자. 자료형에 적용하는 기본 연산자+ 와 = 연산자를 함께 사용해 아래와 같이 구성하는 연산자.

a +=10

a = a + 10 과 같은 결과를 냄.

 

숫자 복합 대입 연산자

연산자 이름 설명
+= 숫자 덧셈 후 대입
-= 숫자 뺄셈 후 대입
*= 숫자 곱셈 후 대입
/= 숫자 나눗셈 후 대입
**= 숫자 제곱 후 대입

예시)

>>> number = 100
>>> number += 10
>>> number += 20
>>> number += 30
>>> print("number:", number)
number: 160

 

문자열 복합 대입 연산자

연산자 이름 설명
+= 문자열 연결 후 대입
*= 문자열 반복 후 대입
>>> string = "안녕하세요"
>>> string += "!"
>>> string += "!"
>>> print("string:", string)
string: 안녕하세요!!

 

사용자 입력: input( )

 

파이썬은 명령 프롬프트에서 사용자로부터 데이터를 입력받을 때 input( )함수를 사용.

 

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

 

프롬프트 문자열: input( )함수 괄호 안에 입력한 내용. 사용자로부터 입력을 요구하는 안내 내용을 포함.

>>> input("인사말을 입력하세요> ")

실행하면 "인사말을 입력하세요> "라는 문자열이 뜨고 프로그램이 종료되지 않은 상태에서 대기가 됨. 

블록(block): 프로그램이 실행 도중에 잠시 멈추는 것.

"인사말을 입력하세요> " 옆에 "안녕하세요" 등을 입력하고 엔터(Enter)키를 누르면 input함수의 결과로 나옴.

 

예시)

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

리턴값: input과 같이 함수의 결과로 나오는 값.

 

input( )함수의 입력 자료형

 

자료형을 알아볼 때는 type( ) 함수를 사용.

>>> print(type(string))
<class 'str>

string 변수에는 "안녕하세요"라는 문자열 입력해 대입했으니 당연히 자료형도 문자열.

 

>>> number = input("숫자를 입력하세요> ")
숫자를 입력하세요> 12345
>>> print(number)
12345
>>> print(type(number))
<class 'str'>

위의 결과로 알 수 있듯이 input( )함수는 사용자가 무엇을 입력해도 결과는 무조건 문자열 자료형이다. number에 대입한 12345도 'str'로 확인됨. True나 False와 같은 불(boolean)값도 모두 문자열로 나옴.

 

문자열을 숫자로 바꾸기

 

input( )함수의 입력 자료형은 항상 문자열이기 때문에 입력받은 문자열을 숫자로 변환해야 숫자 연산에 활용 가능함(캐스트,cast). 

 

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

int( )함수: 문자열을 int 자료형으로 변환. int는 정수를 의미.

float( )함수: 문자열을 float 자료형으로 변환. float는 실수 또는 부동 소수점을 의미.

 

 

반응형