변수 생성 과정
변수의 사용 예
게임에서 사용자의 기본 점수가 20점이라고 한다면 아래와 같이 코딩을 하면 될 것이다.
.>>>score = 20
위의 문장은 파이썬에게 변수 score를 생성하고 20이라는 값을 저장하라는 것이다.
= 연산자는 같다는 의미가 아니라 변수에 값을 저장한다는 의미이다.
변수의 값을 출력 할려면 아래와 같이 변수 이름만 입력하고 엔터키를 누르거나, print()함수를 이용하면 된다.
생성된 변수에는 얼마든지 다른 값을 저장할 수 있다.(덮어쓰는 것이다)
.>>>score
20
.>>> print(score)
20
//참고로 print함수의 score의 자리의 값을 매개변수, 파라메터, 인자값, 아규먼츠 라고 불린다.
변수에는 다른 변수의 값도 저장할 수 있다.
일반적으로는 변수에 어떤 수식의 값도 저장할 수가 있다.
사각형의 가로 길이와 세로 길이를 나타내는 변수를 만들고 사각형의 면적을 계산하는 코드는 아래와 같이 코딩하면 될 것이다.
.>>> width = 10
.>>> height = 20
.>>> area = width * height
.>>> print(area)
200
변수에 문자열(string) 저장
파이썬 변수에는 문자열 저장이 가능하다.
.>>> str = '안녕하세요.' or "안녕하세요."
// 문자열은 더블 쿼테이션, 싱글 쿼테이션 안에 작성해야한다.
. >>> print(str)
안녕하세요.
변수에 실수 저장
파이썬 변수에 실수 또한 저장이 가능하다.
.>>> PI=3.141592
.>>> print(PI)
3.141592
주의
파이썬에서 값이 할당되지 않은 변수를 사용한다면 오류가 발생한다.
.>>>print(str)
NameError : name ‘str’ is not defined
.>>>
파이썬에서는 변수의 값만 변경할 수 있다. 변수 x에 1을 대입할 수 있지만, 1에는 x를 대입할 수 없다. 두 번째 줄에서 1은 변수가 아니기에 오류가 발생한다.
.>>>x=1
.>>>1=x
SyntaxError : can’t assign to literal
변수가 저장하는 것
파이썬에서 변수는 어떤 데이터든 저장할 수 있다. 먼저 수를 저장할 수 있다. 2가지의 종류의 수를 저장할 수 있는데 하나는 정수(integer)이며, 소수점이 없는 수를 의미한다.파이썬에서는 이것을 int라고 칭한다.하지만 0.524와 같은 소수점이 있는 수가 필요하면 실수(floating-point)를 사용하면 된다. 이것을 float라고 칭한다. 데이터의 종류를 자료형(data type)이라고 한다. 또 변수는 “Hello”와 같은 문자열을 저장할 수 가 있다. 이 밖에 character, double 등 여러가지 자료형을 저장할 수 있다.
파이썬에서는 변수에 어떤 자료형의 값이든지 저장할 수 있다. 파이썬에서 자료형은 값과 연관되고 변수와는 연관되지 않는다. 즉 동일한 변수에 여러 자료형의 데이터를 저장할 수 있다.
a=5, b=3.14, c='HELLO' 일 때
a는 type: int로 값은 5, b는 type: float로 값은 3.14 c는 type: stirng, 값은 HELLO이다.
엄연히 변수의 이름은 그 값의 주소값을 가지고 있다. C언어의 포인터 개념이다.
변수는 C언어와 같은 다른 언어들과 다르게 data type을 결정하지 않아도 된다. python은 값이 기입되는 순간 그 값에 따라 type이 결정된다.
변수의 이름과 규칙
상수(constant)
TAX_RATE = 0.35
tax = 1000*TAX_RATE
income = 1000 - tax
print("현재의 세율은 ",TAX_RATE*100,"%입니다.")
#사각형의 가로 길이
width = 10
#사각형의 세로 길이
height = 20
#사각형의 넓이 계산
area = width * height
산술 연산자는 기본적인 산술 연산인 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 실행하는 연산자 이다.
연산자 | 기호 | 예 | 결과값 |
---|---|---|---|
덧셈 | + | 7 + 4 | 11 |
뺄셈 | - | 7 - 4 | 3 |
곱셈 | * | 7 * 4 | 28 |
나눗셈(실수가 출력) | / | 7 / 4 | 1.75 |
나눗셈(정수가 출력) | // | 7 / 4 | 1 |
나머지 | % | 7 % 4 | 3 |
나머지 계산하기
연산자의 우선순위
abs( )함수: 절대값 계산
round( )함수: 소수 첫째 자리에서 반올림
max( )함수: 매개변수 값들 중 최대값을 반환
min( )함수: 매개변수 값들 중 최소값을 반환
sqrt( )함수: 제곱근을 구함
>>>form maht import*
>>>sqrt(4.0)
2.0
from math import *
라는 문장을 입력해 math 라이브러리의 모든 함수를 사용 할 수 있다.
즉 sqrt같은 함수를 이용하기 위해서는 위의 문장을 입력해야 한다.
input( ) 함수
변수 = input("프롬프트 문자열")
문자열 입력
name = input("이름이 무엇인가요?")
print("만나서 반갑습니다. ",name,"씨!")
age = input("나이는요?")
print("그러면, 당신의 나이는 ",age,"살이시군요, ",name,"씨!")
출력 결과
이름이 무엇인가요? 홍길동
만나서 반갑습니다. 홍길동씨!
나이는요? 99
그러면, 당신의 나이는 99살이시군요, 홍길동씨!
x = input("정수입력x:")
y = input("정수입력y:")
sum = x + y
print("합은 "sum "입니다.")
출력결과
정수입력x: 10
정수입력y: 20
합은 1020입니다.
input함수는 문자열로 변수에 저장한다. 이에 위의 코드에서 정수가 아닌 문자열로 간주하여 그대로 합쳐버린다. 사용자로 부터 정수를 입력받기 위해서는 int( )함수 즉 문자열을 정수로 바꾸는 함수가 필요하다.
x = int(input("정수입력x:"))
y = int(input("정수입력y:"))
sum = x + y
print("합은 "sum "입니다.")
출력결과
정수입력x: 10
정수입력y: 20
합은 30입니다.
num1 = 10
print(type(num1))
실행결과
<class 'int'>
type은 매개 변수의 데이터 타입을 나타낸다.
만일 num1 = "10" 이면 <class 'str'>이 나온다.