jiseong 2021. 5. 14. 12:22
728x90

변수

메모리 공간에 이름을 붙이는 것.

아래 그림과 같이 상자와 같다고 생각하면 된다.

상자에 저장된 값은 수시로 바꿀 수 있다.

변수의 사용법

예를 들어 몸무게를 저장하고 싶을 때 아래와 같이 코드를 작성한다.

이때, 변수명은 의미 있게 지어주는 게 좋다. 여기서는 몸무게를 뜻하는 weight를 변수명으로 지었다.

>>> weight = 70.1
>>> weight
70.1

weight = 70.1에서 weight의 변수에 70.1의 값을 할당한다.

'=' 기호는 할당연산자, 대입 연산자라고 한다.

'오른쪽의 값을 왼쪽의 weight라는 이름의 변수에 저장하라'는 의미이다.

 

아래와 같이 변수의 값을 바꿀 수도 있다.

>>> weight = 70.1
>>> weigth = 65.5
>>> weigth
65.5

 

여러 개의 변수에 동시에 값을 할당할 수도 있다. 이를 동시 할당 문이라 한다.

>>> x, y =100, 200
>>> result = x + y
>>> result
300

x + y 연산을 진행한 뒤, 그 값을 result변수에 담고 result를 출력하고 있다.

 

변수 이름의 규칙

변수의 이름은 식별자의 일종이다.

식별자는 다음과 같은 규칙에 따라 만들어야 한다.

  • 문자와 숫자, 밑줄 문자(_)로 이루어지며 다른 특수 문자는 사용할 수 없다.
  • 첫 글자는 숫자로 시작할 수 없다.
  • 중간에 공백을 가질 수 없다.
  • 대문자와 소문자는 구별된다.
  • 파이썬의 예약어(키워드)는 사용할 수 없다.

아래의 표는 예약어 목록이다.

and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

예약어 파이썬에서 이미 문법적인 용도로 사용되고 있기 때문에 변수명 등의 식별자로 사용하면 안 되는 단어들을 말한다.


변수 활용

문자열 저장

변수에는 문자열 저장도 가능하다.

'+' 연산도 가능하다. 문자열 덧셈 기능은 참 편리한 것 같다.

>>> s1 = 'Hello'
>>> s2 = 'World!'
>>> s1 + s2
'HelloWorld!'
>>> len(s1 + s2)
11

len() 함수는 문자열의 길이를 알려주는 함수이다.

자료형

자료형이란 프로그램에서 사용할 수 있는 데이터의 종류이다.

파이썬에서 사용할 수 있는 기본 자료형은 4가지가 있다.

자료형 의미 예시
 int 정수  -3, -2, 0, 10, 20
float 실수  3.14, 4.25, 0.1, 123.123
str 문자열  'Hello', "hi"
bool 부울형  True, False

 

파이썬은 자료형을 자동으로 지정해준다.

변수의 자료형을 확인하고 싶을 때는 type() 함수를 쓰면 된다.

>>> x = 10
>>> type(x)
<class 'int'>
>>> x = 3.14
>>> type(x)
<class 'float'>
>>> x = 'hello'
>>> type(x)
<class 'str'>
>>> x = False
>>> type(x)
<class 'bool'>

 

문자열 덧셈과 정수형 덧셈을 헷갈리면 안 된다.

>>> 10 + 20
30
>>> '10' + '20'
'1020'

10과 20은 정수이기 때문에 10 + 20 연산의 결과는 30

'10', '20'은 문자열이기 때문에 '10' + '20' 연산의 결과는 '1020'

 

자료형이 일치하지 않으면 에러가 날 수 있다.

>>> '10' + 10
Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    '10' + 10
TypeError: can only concatenate str (not "int") to str

컴퓨터 수치 표현의 한계, 컴퓨터의 한계

컴퓨터의 저장 공간은 유한하다.

컴퓨터에서 1/3을 소수로 표현하려면 어떻게 할까?

컴퓨터는 무한을 표현할 수 없다. 그래서 컴퓨터는 근사치를 표현한다.

실수의 표현을 위해 정의된 수식

컴퓨터에서 수치 오류는 불가피하다.

 

'==' 연산자는 같으면 True, 다르면 False를 반환

값을 계속 더해 나갈수록 오차는 점점 커지게 된다.

>>> 0.1 + 0.1 == 0.2
True
>>> 0.1 + 0.1 + 0.1 == 0.3
False
>>> 0.1 + 0.1 + 0.1
0.30000000000000004

문자열

문자들의 나열

작은따옴표('...')나 큰따옴표("...")로 표현한다.

>>> "Hello"
'Hello'
>>> 'hi'
'hi'

 

print() 함수를 이용하여 문자열을 출력할 수 있다.

>>> st = 'Hello'
>>> print(st)
Hello

 

문자열 내에서 특수문자 사용

강아지가 '멍멍' 짖는다.라는 문장을 출력하고 싶다.

>>> print('강아지가 '멍멍' 짖는다.')
SyntaxError: invalid syntax

따옴표의 쌍이 맞지 않아 오류가 나타난다. 가끔씩 따옴표를 실수로 빼먹어서 에러가 뜨는 경우가 많은데.. 잘 확인하자.

 

여러 가지 방법이 있다.

>>> print('강아지가 "멍멍" 짖는다.') #1
강아지가 "멍멍" 짖는다.
>>> print("강아지가 '멍멍' 짖는다.") #2
강아지가 '멍멍' 짖는다.
>>> print("""강아지가 '멍멍' 짖는다.""") #3
강아지가 '멍멍' 짖는다.
>>> print("""강아지가 "멍멍" 짖는다.""") #4
강아지가 "멍멍" 짖는다.
>>> print('강아지가 \'멍멍\' 짖는다.') #5
강아지가 '멍멍' 짖는다.

#1, #2의 경우 작은따옴표와 큰따옴표를 섞어 사용하였다.

#3, #4의 경우 큰따옴표 3개를 사용하였다. (작은따옴표 3개를 사용하여도 된다.)

#5의 경우 '\'를 사용하였다. 역슬래시는 특수한 문자를 표기하는 데 사용하는 문자이다.

 

따옴표 3개를 쓸 경우 여러 줄 출력도 가능하다. 이 기능을 잘 활용하면 장문의 글을 쉽게 출력할 수 있을 것 같다.

>>> print('''
안녕하세요
강아지가 '멍멍' 짖습니다.
고양이는 '야옹'
펭귄은 '펭펭'
소는 '음메'
''')

안녕하세요
강아지가 '멍멍' 짖습니다.
고양이는 '야옹'
펭귄은 '펭펭'
소는 '음메'

입력 | input()

input()

사용자로부터 문자열을 입력받는 함수이다.

사용자의 입력을 문자열 형태로 반환한다.

>>> input_string = input(output_string)

문자열 입력받기

>>> name = input("name: ")
name: jiseong
>>> name
'jiseong'

정수 입력받기

>>> age = int(input("age: "))
age: 23
>>> age
23

input() 함수는 문자열로 반환한다.

정수로 저장하기 위해 int()를 이용하여 형 변환을 해준다.


지금까지 배운 것들로

성적 계산 프로그램

name = input('이름: ')
kor = int(input('국어 점수: '))
math = int(input('수학 점수: '))
eng = int(input('영어 점수: '))
total = kor + math + eng
avg = total / 3

print(name ,'의 성적')
print('국어 :', kor)
print('수학 :', math)
print('영어 :', eng)
print('합계 :', total)
print('평균 :', avg)
이름: 박지성
국어 점수: 50
수학 점수: 22
영어 점수: 100
박지성 의 성적
국어 : 50
수학 : 22
영어 : 100
합계 : 172
평균 : 57.333333333333336

나누기 연산에는

/ : 소수형 나눗셈

// : 정수형 나눗셈

/를 써서 소수까지 계산하였다.

 

728x90