6 minute read


Pyhton의 변수명 사용 규칙

변수란?
# 값을 기억하는 기억장소

# 필요에 따라 접근(Access) 하여 읽고(Read) / 쓰기(Write) 할 수 있다.)

a = 3 # a가 변수명, 3이 값

b = a + 1 # b가 변수명, a(==3) + 1 = 4가 값


변수명 사용 규칙

  • 변수명은 영문자, 숫자, 밑줄기호(_)의 조합만을 사용.
  • 첫 글자는 반드시 영문자(소문자) 또는 밑줄 기호로 시작.
  • Case Sensitive (대/소문자의 구분)
    • Chae, cHae, CHAE 셋 모두 다른 변수명이다.
  • 키워드(예약어)는 사용하지 않는다. (예약어: 프로그램에서 이미 내부 기능 구현을 위해 사용하고 있는 단어)
    • False, None, True, and, as, assert, break, class, continue, def, del, elif,
      else, except, finally, for, from, global, if, import, in, is, lambda,
      nonlocal, not, or, pass, raise, return, try, while, with, yield, ...
      

파이썬(Python)은 다른 언어와 다르게 변수의 원시타입 (데이터 타입 - 자료형: int, double, char..)을 지정하지 않아도 된다.
파이썬에서는 모든 것을 객체(Object)로 취급하기 때문이다.
사실상 C의 포인터 연산이 모든 곳에서 행해지고 있는 것과 같다.
(a = 10 을 하게 되면 변수 a에 10을 할당한 것이 아닌 a가 10이 저장된 상수 객체를 가리키도록 하는 것이다.)



할당 연산자 (Assignment Operator) : =

  • 값을 변수에 저장하는 연산자
  • 형식
      # 변수 = 값
      # 변수1 = 변수2
    >>> a = 3 # a 라는 변수에 정수 (integer)3 저장
    >>> a
    3
    
  • 변수에는 정수 외에도 다양한 “타입” (실수, 문자열 등) 의 값을 할당 할 수 있다.
    >>> a = 3.1 # 실수를 변수 a에 저장
    >>> a
    3.1
    >>> a = 'string'  # 문자열을 변수 a에 저장.
    >>> a
    'string'
    
  • 변수 간의 할당도 가능.
    >>> a = 10  # 변수 a에 정수 10 할당.
    >>> b = a   # 변수 b에 변수 a의 값을 할당
    >>> a
    10
    >>> b
    10
    
  • 수식 계산의 결과를 할당
    >>> a = (1+3)*4-5
    >>> a
    11
    
  • 변수 간의 할당된 값 교환
    >>> a = 1
    >>> b = 2
    >>> a,b = b,a  #(a,b) = (b,a) 에서 괄호 생략
    >>> a
    2
    >>> b
    1
    

    ```

표준 입출력 (Standard Input/Output)

출력 함수: print()

  • 출력: 값을 주어진 곳으로 내보내는 기능.
  • print(): 매개변수(Parameter) 를 표준 출력하는 함수
    함수(Function) / 모듈(Module): 특정 기능을 수행하는 부분
    • 매개변수에 값이 입력되면 해당 값을 화면에 출력
    • 매개변수에 변수가 입력되면 변수의 값을 화면에 출력
      >>> print(3)
      3
      >>> print('a = ')
      a =
      >>> print(a)
      3
      >>> print('a =', a)
      a = 3
      
  • 여러 개의 변수 값도 한꺼번에 출력 가능
    >>> a = 1
    >>> b = 2
    >>> c = 3
    >>> print(a,b,c)
    1 2 3
    
  • TIP: Python 프롬프트에서 print() 함수를 사용하지 않고 쉽게 특정 변수의 값을 확인할 수 있다.
    >>> a = 1
    >>> a
    1
    >>> print(a)
    1
    >>> a, b, c
    (1, 2, 3)
    



입력함수: input()

  • 입력: 사용자로부터 특정 데이터를 받는 기능
  • input(): 데이터를 표준입력 받는 함수
    • 입력받은 데이터는 문자열 (String)로 변수에 저장
      >>> a = input()
      3
      >>> a
      '3'
      >>> b = input()
      3.7
      >>> b
      '3.7'
      >>> c = input()
      채승민
      >>> c
      '채승민'
      
  • 설명 출력 후 데이터를 입력 받고 싶을 때
    >>> a = input('학년: ')
    학년: 4
    >>> b = input('학점: ')
    학점: 4.5
    >>> c = input('이름: ')
    이름: 채승민
    >>> a
    '4'
    >>> b
    '4.5'
    >>> c
    '채승민'
    



자료형(Type) 및 변환

Python에서의 자료형 (Type)

  • 정수(integer): -1, -2, 1, 50, …
    • “int” 자료형으로 표현
  • 실수 (floating-point number): 2.5, 3.14, …
    • “float” 자료형으로 표현
  • 논리 (Boolean): True, False
    • “bool” 자료형으로 표현
  • 문자열 (String): ‘채승민’, ‘CarefreeLife’, …
    • “str” 자료형으로 표현
    • 큰따옴표 (“ ”) 혹은 작은따옴표 (‘ ’)를 양쪽 끝에 붙여서 표현



자료형의 확인

  • type 키워드를 통해 변수 및 값의 자료형 확인 가능
>>> a = 1
>>> type(a)
<class int>

>>> a = 1.0
>>> type(a)
<class float>

>>> a = True
>>> type(a)
<class bool>

>>> a = '1'
>>> type(a)
<class str>



자료형의 변환: int(), float(), str()

  • 자료형을 변환해주는 함수: int(), float(), str()
  • 문자열에서 정수로 변환 : int()
  • 문자열에서 정수로 변환 : float()
  • 정수 / 실수 를 문자열로 변환 : str()
>>> a = input('a = ')
a = 30

>>> a
30

>>> type(a)
<class 'str'>

>>> int(a)
30
>>> type(int(a))
<class 'int'>



주의: 자료형 변환 오류

  • 변환 표현이 가능한 입력만 가능. 위반 시 오류 발생
    • 예: int() 함수에 정수 외 다른 수, 문자 입력 시
      PyDev console: starting.
      Python 3.9.6 (default, Oct 18 2022, 12:41:40) 
      [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
      a = int(input('a = '))
      a = 1.1
      Traceback (most recent call last):
      File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevconsole.py", line 364, in runcode
      coro = func()
      File "<input>", line 1, in <module>
      ValueError: invalid literal for int() with base 10: '1.1'
      
  • 예외: int와 float 간의 변환은 아래와 같이 자동 변환이 지원된다. typeswitch_Procdess``



관계 연산자 및 분기문 (Branch)

1. 크기 비교 연산자

  • 이항 연산자: 두 피연산자 (Operand) 간 계산을 수행하는 연산자.
  • 관계 연산자: 두 피연산자 간의 관계를 나타내는 연산자
    • 논리 값 반환: 참일 경우 Ture 거짓일 경우 False
    • (>) (크다), < (작다), >= (크거나 같다), <= (작거나 같다), (==) 같다
    • >>> 5 > 3 True
      >>> 5 > 5 False 
      >>> 5 > 6 False
      

2. 논리 연산자

  • 논리 자료형(Boolean)을 가진 두 피연산자 간 계산을 수행하는 연산자.
    • and, or
    • #and
      >>> True and True 
      True
      >>> True and False 
      False
      >>> False and True 
      False
      >>> False and False 
      False
      #or
      >>> True or True 
      True
      >>> True or False 
      True
      >>> False or True 
      True
      >>> False or False 
      False
      

분기문 (Branch)

  • 특정 조건의 만족/불만족 에 따라 프로그램의 실행을 분기하는 문법
  • if-(elif-else) 분기 문법을 이용하여 표현한다.
    • #조건문 사용 예제
      t = int(input('기온: '))
      if t > 30 : print('운동을 하지 못한다.')
      else: print('운동을 간다.')
      #실행결과 
      >>>
      기온: 32
      운동을 하지 못한다.
      >>>
      기온: 27
      운동을 간다.
      
    • # 여러 개의 조건문 사용 예제
      t = int(input('기온 : ')) 
      if t > 30:
      print('날씨가 덥다.') 
      elif t > 20:
      print('날씨가 따뜻하다.') 
      elif t > 10:
      print('날씨가 시원하다.') 
      else:
      print('날씨가 춥다.')
      #실행 결과
      >>>
      기온 : 35
      날씨가 덥다.
      >>>
      기온 : 24
      날씨가 따뜻하다. 
      >>>
      기온 : 17
      날씨가 시원하다. 
      >>>
      기온 : -10
      날씨가 춥다.
      
    • t = int(input('기온 : ')) 
      if t > 30:
      print('날씨가 덥다.') 
      if t > 20:
      print('날씨가 따뜻하다.') 
      if t > 10:
      print('날씨가 시원하다.') 
      else:
      print('날씨가 춥다.')
      #실행 결과
      >>>
      기온 : 35
      날씨가 덥다. 
      날씨가 따뜻하다. #모든 조건이 만족하므로 만족하는 모든 조건문이 전부 실행된다.
      날씨가 시원하다. #모든 조건이 만족하므로 만족하는 모든 조건문이 전부 실행된다.
      



논리 연산자를 통한 조건 결합

  • If 문법 내 조건식은 복수 조건을 논리연산자로 결합하여 표현 가능
    t = int(input('기온 : ')) 
    h = int(input('습도 : '))
    If t > 30 and h > 70: # and 논리 연산자를 사용한 복수 조건의 결합
      print('찜통더위') 
    else
      print('날씨가 덥지 않거나 습하지 않다')
    

분기 후 여러 동작의 실행

  • if문을 사용할 때 여러 동작의 수행이 필요할 경우, 각 명령어 줄 (line)을 들여쓰기를 통해 작성해야 함
    • indent_Procdess
      들여쓰기

순서도(Flow Chart)란?

  • 미리 정의된 기호 및 연결선을 사용하여 프로그램의 논리적인 흐름을 그림으로 표현한 것.
    • 문제를 해결하는 과정을 설명하는 도구로도 쓰인다. flowchart_Procdess
      순서도의 모습

      flowchartex_Procdess
      순서도의 작성 예시



실습

1.자신의 학과와 이름을 입력으로 받아, 다음과 같은 형태로 출력하는 프로그램을 작성

>>
학과: 컴퓨터 공학부
이름: 채승민
저는 컴퓨터 공학부에 재학중인 채승민 입니다.
>>
1. 소스 코드 (클릭)

2_1_1_Procdess
1. 소스 코드

2_1_1_rs_Procdess
1. 실행 결과



2.마일을 입력으로 받아 킬로미터로 변환 후 출력하는 프로그램을 작성

  • 1 킬로미터 = 1마일 * 1.609344
    >>
    마일: 1
    킬로미터: 1.609344
    >>
    마일: 20
    킬로미터: 32.18688
    >>
    마일: 60
    킬로미터: 96.56064
    >>
    
2. 소스 코드 (클릭)

2_1_2_Procdess
2. 소스 코드 및 실행 결과



3.자신의 학과와 이름을 입력으로 받아, 다음과 같은 형태로 출력하는 프로그램을 작성

>>
정수 a, b, c 입력 a= 3
b =2
c =1
정렬  : 3 2 1
정렬  : 1 2 3 
>>
정수 a, b, c 입력 a= 2
b =1
c =3
정렬  : 2 1 3
정렬  : 1 2 3 
>>
3. 소스 코드 (클릭)

2_1_3_Procdess
3. 소스 코드 및 실행 결과



최대한의 설명을 코드 블럭 내의 주석으로 달아 놓았습니다.

혹시 이해가 안가거나 추가적인 설명이 필요한 부분, 오류 등의 피드백은 언제든지 환영합니다!

긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.



처음으로~

Task Lists

  • Pyhton의 변수명 사용 규칙
  • 할당 연산자 (Assignment Operator)
  • 표준 입출력 (Standard Input/Output)
  • 자료형(Type) 및 변환
  • 관계 연산자 및 분기문 (Branch)
  • 논리 연산자를 통한 조건 결합
  • 순서도(Flow Chart)란?
  • 실습 1, 2, 3

Comments