모두를 위한 파이썬(PY4E) [2. 변수, 표현식 및 코드] 강의

Charles R. Severance (찰스 R. 세브란스)의 <모두를 위한 파이썬(PY4E)> 수강 내용
https://www.boostcourse.org/cs122/joinLectures/284901

2. 변수, 표현식 및 코드

1) 변수, 표현식 문장

학습목표

변수, 상수의 개념을 이해하고 이름을 정하는 방법을 익혀서 사용할 수 있다.

핵심키워드

  • 변수
  • 상수
  • 명령문
  • 표현식

상수(Constants)
상수는 값이 변하지 않는다.

print(123) # 123으로 출력, 123이 상수
print(98.6) # 98.6으로 출력, 98.6이 상수
print("Hello World") # Hello World로 출력, Hello World가 상수

예약어(Reserved Words)
파이썬이 정한 의미로만 쓰이는 특별한 단어
ex) 파이썬이 if라는 예약어를 만나게 되면 조건문을 실행
예약어의 종류 : https://www.programiz.com/python-programming/keyword-list

변수(Variables)
메모리에 사람이 이해할 수 있는 변수명으로 원하는 데이터를 넣을 수 있는 공간을 확보

x=12.2
print(x) # 12.2가 출력
y=14
x=100
print(x) # 100이 출력
  • x, y : 메모리에 할당된 변수의 이름
  • = : 할당자이며 해당 변수에 특정 값을 넣어주는 역활(화살표로 생각)
  • 12.2, 14: 값이며 해당 변수에 사용자가 넣은 값

변수로 선언한 뒤 해당 변수에 넣을 수 있는 값은 바꿀 수 있다.

변수의 이름을 정하는 규칙

  1. 반드시 문자 또는 underscore(_)로 시작한다.(숫자로 시작할 수 없다)
  2. 문자와 숫자 underscore(_)를 포함할 수 있다.
  3. 읽는 사람이 읽기 편하도록 변수명을 정하는 것이 중요
# Case1 - Worst
xiojqwerlkj  = 35.0
dpemdnlem = 12.50
rlaxotjs = xiojqwerlkj * dpemdnlem
print(rlaxotjs)

#Case2 - Bad
a = 35.0 
b = 12.50
c = a * b
print(c)

#Case3 - Good
hours = 35.0
rate = 12.50
pay = hours * rate
print(pay)
  • 파이썬은 3가지 케이스를 모두 동일하게 인지하지만 코드를 읽는 사람 입장에서는 세 번째 케이스가 가장 이해하기 쉽다

할당문(Assignment Statements)
대입문은 오른쪽 표현의 결과를 왼쪽 변수에 저장하는 것으로 구성되어 있다.

x=0.6
x=3.9*x*(1-x)
print(x) # 0.936 출력
		# 3.9*0.6*(1-0.6)
x-3.9*x*(1-x)
print(x) # 0.2336256 출력
		# 3.9*0.936*(1-0.936)

2) 연산자, 데이터 타입 및 타입 변환

학습목표

연산자의 종류와 처리 순서를 이해하고 사용할 수 있다.
타입의 종류와 타입 변환을 이해하고 사용할 수 있다.

핵심키워드

  • 연산자
  • 타입
  • 타입 변환
  • 주석

수리 연산자 표현
컴퓨터 키보드에 있는 수학 기호들의 부족으로 우리는 제한적인 몇 가지의 수리 연산자들을 사용할 수 있다.

연산자의 순서
일반적인 연산자들을 수행하게 되는 순서는 다음과 같다.
괄호 → 거듭 제곱 → 곱셈,나눗셈 → 덧셈,뺄셈 → 왼쪽에서 오른쪽으로
과 같은 순서로 진행되게 된다.

타입이란?
파이썬에서는 여러가지 데이터 타입들이 있다. 파이썬은 영리하게도 우리가 연산하고자 하는 데이터의 타입에 따라 동일한 연산자를 사용하더라도 다른 결과를 가져 옵니다.
ex) 동일한 + 연산자를 사용하더라도 정수, 부동 소수점 수 타입의 변수에서는 덧셈으로 작용하고 문자열 타입의 변수에서는 문자열을 이어주는 기능을 하게 된다.

ddd = 1 + 4
print(ddd) # 5로 출력

eee = 'hello ' + 'there'
print(eee) #hello there로 출력

eee = eee + 1 # 문자열 타입과 정수형 타입을 더하려 했기 때문에 에러가 발생

만약에 우리가 타입이 다른 변수에 대해 연산을 하게 되면 파이썬은 오류 메시지를 띄워 자신에게 정확히 알려달라고 요청한다. 파이썬은 타입에 민감하기 때문에 이 부분에 대해서 명심해야 한다.

값이나 변수의 타입을 알고 싶을 때 우리는 type()을 이용해 해당 객체의 타입을 알 수 있다.

eee = 'hello' + 'world'
print(eee) # hello world

type(eee) # class 'str' 문자열 클래스 타입
type(1) # 정수 클래스 타입

여러가지 숫자 타입
주요한 숫자 타입에는 두 가지가 있다. int(정수) 타입과 float(부동 소수점 수) 타입이다. -1, 0, 1과 같은 정수들은 int 타입이며, -1.5, 0.0, 1.5 같은 부동 소수점 수들은 float 타입이다.

타입 변환
파이썬에는 타입을 변환할 수 있는 함수가 내제되어 있기에 간단한 방법으로 타입을 변환할 수 있다.
변환시키고 싶은 타입 형식으로 감싸주면 타입이 바뀌게 된다.
ex) i라는 변수를 정수 타입으로 선언했다고 하자
만약 i 변수를 부동 소수점 수 타입으로 바꾸어 저장하고 싶다면 f = float(i)로 적어주면 된다.

i=42
type(i) # int 타입
f=float(i) # float 타입으로 변환
print(f) #42.0으로 출력
type(f) #float 타입
sval='123'
type(sval) # str 타입
print(scal+1) # 문자열과 int를 더한 것이므로 오류

ival=int(sval)
type(ival) # int 타입
print(ival) # int 타입 간 연산이기 때문에 오류 발생하지는 않는다. 124로 출력

입력
print()를 통해 출력을 했다면 input()을 이용해 입력을 받을 수 있다.

nam=input('Who are you?') # Who are you?라고 물어볼 것이고 사용자는 입력값을 넣는다.
print('Welcome', nam) # 해당 입력값을 nam이라는 변수에 할당한 다음 Welcome이라는 문자열과 함께 출력

주석
컴퓨터에게 명령을 내리는 파이썬 코드 이외에 사람이 알아보도록 적는 것을 주석이라고 한다.
위에 보이는 것처럼 # 기호를 사용하게 되면 주석을 달 수 있다.
컴퓨터는 주석을 무시하고 지나가기 때문에, 실행시키고 싶은 코드에 주석 표시 (#)를 달지 않도록 주의해야한다.


3) 프롬프트에서 사용자 입력받기

실습
파이썬3 및 Atom 에디터를 설치하지 않았다면 <파이썬3 설치하기> 영상을 보고 설치해주시기 바랍니다.

모든 실습은 자신의 PC환경에서 진행하는걸 권장하며 Atom에디터가 아닌 다른 텍스트 에디터를 사용해도 무관합니다. (ex: Sublime Text, Pycharm 등)

# Exercise 2-1
print("Hello")
# Exercise 2-2
nzt=input("Enter your name: ")
print("Hello", nzt)

4) 프롬프트에서 입력받아 계산하기

실습
파이썬3 및 Atom 에디터를 설치하지 않았다면 <파이썬3 설치 하기> 영상을 보고 설치해주시기 바랍니다.

모든 실습은 자신의 PC 환경에서 진행하는걸 권장하며 Atom 에디터가 아닌 다른 텍스트 에디터를 사용해도 무관합니다. (ex: Sublime Text, Pycharm 등)

실습 문제
Write a program to prompt the user for hours and rate per hour using input to compute gross pay. Use 35 hours and a rate of 2.75 per hour to test the program (the pay should be 96.25). You should use input to read a string and float() to convert the string to a number. Do not worry about error checking or bad user data.

# Exercise 2-3
uh = input("Enter hours: ")
ur = input("Enter rate per hour: ")
up = float(uh) * float(ur)
print("Pay:",up)

Quiz 2

좋은 웹페이지 즐겨찾기