파이썬 코칭스터디 1기 - 모두를 위한 파이썬(PY4E) 2강 (변수, 표현식 및 코드)

태온·2021년 7월 19일
0
post-thumbnail

2. 변수, 표현식 및 코드

1. 상수

  • 값이 변하지 않아 숫자, 글자, 문자열과 같은 고정 값을 "상수"라고 한다.
print(123) # 숫자 상수(정수형)
print(98.6) # 숫자 상수(실수형)
print("Hello World") or print('Hello World') 
# 문자열 상수는 ", ' 로 표시 
( " 와 ' 안에 있는 모든 것은 문자열로 처리된다. 
안에 있는 수가 숫자여도 문자열) ex : "123" , '17.6' => 문자열 

2. 예약어

  • 변수 이름/식별자로 사용할 수 없다.

3. 변수

  • 원하는 데이터를 넣을 수 있는 메모리 공간이다.
  • 개발자가 이해하기 쉬운 변수명으로 하는 것이 좋다..(개발자의 고충..😱)
x = 12.2
print(x) # 12.2 출력

y = 14 
x = 100
print(x) # 100 출력

이해하기 쉽게 아래 그림을 참고.

4. 파이썬 변수 이름 규칙 🧐

  • 반드시 문자 또는 _(밑줄)로 시작. (숫자로 시작 X)
  • 문자숫자 _(밑줄)을 포함할 수 있다.
  • 읽는 사람이 읽기 편하도록 변수명을 정하는 것이 매우 중요하다!!!!

변수명을 정하는 것이 왜 중요한가? 🙄

왜 중요할까? 예를 한 번 들어보자.

# Case1 - 아주 나쁜 예
xiojqwerlkj  = 35.0
dpemdnlem = 12.50
rlaxotjs = xiojqwerlkj * dpemdnlem
print(rlaxotjs)

# ...이해가 가능한가요? 저는 모르겠네요..

# Case2 - 나쁜 예
a = 35.0 
b = 12.50
c = a * b
print(c)

# 흠... 가볍게 혼자 코딩한다면 괜찮겠지만 다른 사람과 협업한다면 안좋다!

# Case3 - 좋아요!
hours = 35.0  # 시간
rate = 12.50  # 요금
pay = hours * rate  # 지불 가격 = 시간 * 요금
print(pay)

# 딱 보면 변수가 뭘 가르키는지 알겠죠? 

이와 같이 파이썬은 3가지 케이스를 모두 동일하게 인지하지만 코드를 읽는 사람 입장에서는 세번째 케이스가 가장 이해하기 쉬울 것이다.


5. 대입문

  • 대입문은 (=)으로 변수값을 지정 가능.

  • 오른편에 있는 표현의 결과를 왼쪽의 변수에 저장하는 것으로 구성.

  • ex)

(이해가 쉽게 위의 그림과 색깔을 맞춰 봤습니다.)

오른쪽은 표현식이고, 표현식이 계산이 되면, 결과값은 x에 저장된다.

예를 한 번 들어 보겠습니다.

x = 0.6 # x 라는 변수에 0.6 대입(저장)
x = 3.9 * x * (1 - x)
print(x) # 0.936 출력됨. 
          #3.9 * 0.6 * (1 - 0.6)
  • x 가 처음에 0.6으로 저장이 되있지만, 아래 대입문을 통해 x는 새로운 값 0.936으로 업데이트가 된다.

6. 연산자

  • 컴퓨터 키보드에 수학 기호가 부족하기 때문에 제한적인 몇 가지의 수리 연산자들을 사용할 수 있다.

  • 아래 표에는 없지만 한가지 추가하자면

    // 는 나누기 연산 후 소수점 이하의 수를 버리고, 정수 부분만 구한다.

    즉, 몫을 구하는 연산자이다.

- 연산자 순서

  • 일반적인 연산자의 수행하게 되는 순서는 다음과 같다.

우선순위 : 괄호 → 거듭제곱 → 곱셈, 나눗셈 → 덧셈, 뺄셈 → 왼쪽에서 오른쪽

x = 1 + 2 ** 3 / 4 * 5
print(x)

# 결과
11.0

여기서 잠깐! 엥? 왜 int형 끼리 계산했는데 실수형으로 결과가 나온걸까? 이유는 정수 나눗셈은 부동 소수점 즉, 실수형을 반환한다.

- 문자열 연산자

  • + 연산자는 수학에서 말하는 덧셈이 아니고, 문자열에서는 연결시켜주는 작업을 수행한다.

예를 들어보면

first = '10'
second = '15'
print(first + second)

# 결과
1015  # '10'과 '15' 문자열을 연결함

7. 자료형(Type)

파이썬에는 다양한 데이터 타입을 가지고 있다. 파이썬은 우리가 연산하고자 하는 데이터의 타입이 무엇인지 알고 결과를 수행한다. 또한, 데이터의 타입에 따라 동일한 연산자를 사용하더라도 다른 결과를 가져오게 된다.

예를 들면, 위에서 얘기했듯이 + 연산자가 있습니다. + 연산자는 정수, 부동 소수점 수 타입의 변수에서는 덧셈으로 작용하고 문자열 타입의 변수에서는 문자열을 이어주는 기능을 하게 된다.

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

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

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

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

값이나 변수의 타입을 알고 싶을 때 type() 함수 사용하여 해당 객체의 타입을 알 수 있습니다.

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

print(type(eee))  # <class 'str'> 문자열 타입
print(type(1))  # <class 'int'> 정수형 타입

🔢 여러가지 숫자 타입

숫자를 나타내는 타입으로는 정수(int), 부동소수점(float) 등이 있다.

정수(int) → 14, 2, -2, 100

부동 소수점(float) → 2.5, -3.0, 0.0, 107.6

이 외 타입으로는 리스트, 딕셔너리, 불, 세트 등 이 있다.


8. 형 변환(타입 변환)

파이썬에는 타입을 변환할 수 있는 함수가 내재되어 있기에 간단반 방법으로 타입을 변환할 수 있다.

변환시키고 싶은 타입 형식으로 감싸주면 타입이 바뀌게 된다.

예를 들어, 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(sval + 1) # 문자열과 int를 더한 것이므로 오류

ival = int(sval) # int형으로 맞춰줘야함으로 int형변환 
type(ival) # int형
print(ival + 1) 
# int형간 연산이기 때문에 오류 발생하지 않는다. 124로 출력됨

9. 입력(Input)

  • print(출력)을 했다면 Input(입력)을 이용해 사용자의 입력을 받을 수 있다.
name = input('자네의 이름은 무엇인가요? ') # 입력받을 input 값을 name에 저장 
print('어서와!', name) # 해당 입력값을 nam이라는 변수에 할당한 다음 어서와!이라는 문자열과 함께 출력합니다.


10. 주석

  • 컴퓨터에게 명령을 내리는 파이썬 코드 이외에 사람이 알아보도록 적는 것을 주석이라고 한다.
  • 파이썬은 주석(#) 다음 모든 내용을 무시가 가능하다.
  • 주석의 역할
    1. 코드가 어떤 일을 하는지 설명
    2. 코드를 쓴 사람 등 부가 설명
    3. 임시적으로 코드를 비활성화



📕 참고

모두를 위한 파이썬 (PY4E)

profile
코딩도시락(배워서 남 주자)

0개의 댓글