강의/python3

[python3] 4강. 변수와 제어문 -1

jinkwon.kim 2022. 4. 7. 21:57
728x90
반응형

목표

    1. 변수가 무엇인지 그리고 변수를 어떻게 사용되는 알아보겠습니다.

    2. 제어문이 무엇인지 그리고 제어문 어떻게 사용되는 알아보겠습니다.

    3. 변수가 제어문에서 어떻게 사용하는지를 알아보겠습니다.

 

강의영상 

https://youtu.be/DS89SziAFAk

 

변수

1. 정의

    - 변수는 상자와 같습니다.

    * 비유 설명

        - 우리는        물건을 따로 보관하고 싶을 때 상자를 구입해서 물건 보관합니다. 

          program은 자료 따로 보관하고 싶을 때 변수 선언해 자료을 보관합니다. 

    - python은 변수도 객체 입니다. 

 

2. 선언

    1) program에서 선언이란?

        - program에게  사용할 수 있는 변수 있다는 것을 알려주는 것입니다.

 

    2) 선언 방법

        변수명 = 

2. 명칭 방식

    1) 변수명 규칙

        - 영문 문자와 숫자를 사용할 수 있습니다.

        - 대소문자를 구분합니다.

        - 문자부터 시작해야 하며 숫자부터 시작하면 안 됩니다.
        - _(밑줄 문자)로 시작할 수 있습니다.

        - 특수 문자(+, -, *, /, $, @, &, % 등)는 사용할 수 없습니다.

    2) 사용할 수 없는 변수 명

        - 다음 키워드는 python에서 예약 되어 있는 문자이기 때문에 사용 할 수 없습니다. 

3. 사용법

    1) 기본 사용법

        - python에서는 변수 다양한 자료(data)를 할당(대입)할 수 있습니다. 

        - 아래 code를 https://godbolt.org/ 에서 실행해보세요. 

        - type() 함수는 변수의 자료형을 알려 줍니다.

#var는 variable의 약어

#None type
none_var = None
print(none_var)
print(type(none_var))

#int type
int_var = 1
print(int_var)
print(type(int_var))

#float type
float_var = 1.1
print(float_var)
print(type(float_var))

#str type
string_var = "string"
print(string_var)
print(type(string_var))

#bool type
bool_var = True
print(bool_var)
print(type(bool_var))

#complex 
complex_var = 2j
print(complex_var)
print(type(complex_var))

 

4. 자료의 종류

    * 자료형 확인 방법

        - type() 함수를 사용합니다. 

    1) 단일 자료형

        - NoneType

            - 변수가 비어 있음을 나타내기 위해서 사용합니다.

            - 처음에 값을 정하고 싶지 않을 때 사용 합니다.

        - int

            - 정수를 의미합니다.

            - 산술 연산자 사용이 가능합니다.

산술 연산자

        - float

            - 실수를 의미합니다.

            - 산술 연산자 사용이 가능합니다.

        - str

            - 문자열을 의미합니다.

            - " " 와 ' ' 로 감싸서 사용합니다.

        - bool

            - True, False를 의미합니다.

        - complex

            - 복소수를 의미합니다.

 

    2) 자료들이 집합을 이루는 자료형

        - list

            - 수정 가능한 자료들의 나열을 의미합니다.

            Ex) ['seoul', 'suwon', 'inchen']

        - tuple

            - 수정 불가능한 자료들의 나열을 의미합니다.

            Ex) ('seoul', 'suwon', 'inchen')

        - dict

            - key : value 형식으로 이루어진 자료들의 나열을 의미합니다. 

            Ex) {'green':'go', 'yellow': 'go faster' , 'red' : 'stop'}

        - set()

            - 집합 자료형으로써 자료들의 집합을 쉽게 만들기 위한 자료형입니다.

            Ex) s1 = set([1,2,3])

 

    3) 특수한 자료형 

        - function

            - 함수를 의미합니다.

 

    * 변수 할당 응용 사용법

        - 산술 연산이 가능한 int, float 형 자료는 할당 연산자를 사용하여 다 향하게 변수에 값을 할당할 수 있습니다. 

할당 연산자

 

5. 자료형 변환 하기

    1) str -> int

#str -> int
num_str = "1000"
num_int = int(num_str)
print(num_int)
print(type(num_int))

    2) int > str

#int -> str
num_int = 1000
num_str = str(num_int)
print(num_str)
print(type(num_str))

 

6. 변수의 유효 범위(variable scope)

    1) 변수의 scope란?

        - 선언된 변수를 사용할 수 있는 범위를 말합니다. 
          program에서는 아무 곳에서나 변수를 선언했다고 해서 다 사용할 수 있는 것은 아닙니다.

 

    2) scope에 따른 변수 구분

        (1) global 변수

            - 함수 에 선언된 변수

        (2) local 변수

            - 함수 에 선언된 변수

 

    3) 변수의 scope 따른 접근 범위

        (1) 핵심

             - 함수 내부에서 선언된 Local 변수는 선언 이후부터 함수 내부에서만  접근만 가능하다. 

             - Global 변수는 선언 이후부터는 program 어디에서나 접근 가능하다.

 

        (2) 실제 동작 방식

            - python 변수의 scope rule은 LEGB 룰이라고 불리기도 합니다.

            - program은 Local -> Enclosed -> Global -> Built-in  순으로 변수를 찾습니다.

변수 scope 설명
local 가장 가까운 함수안 범위 입니다.
Enclosed 파이썬은 함수 안에 함수가 정의 될수 있는데, 가장 가까운 함수가 아닌
두번째 이상의 함수 가까운 함수범위입니다.
Global 함수 바깥의 변수 또는 import된 module
Built-in 파이썬안에 내장되어 있는 함수 또는 속성들입니다.

 

    4) 실 생활에서의 예제

 

    5) program에서의 실제 사용 범위 (Local, Global)

 

제어문

1. 제어문 정의

    - program의 동작의 흐름을 제어합니다.

    - 즉, 제어문을 통해서 우리가 원하는 방향으로 program이 동작하게 만들 수 있습니다.

2. 제어문 종류별 용도

    1) if  else 문

        - 조건이 true이면 if 문의 code를 실행 아니면 else문의 code를 실행하게 하는 용도입니다.

    2) for  in 문

        - 특정 code 들을 원하는 횟수 동안 반복 실행하고 싶을 때 사용합니다.

        - break 문을 통해서 언제든지 반복을 멈출 수 나올 수 있습니다. 

    3) while 문

        - 특정 code를 원하는 조건이 나올 때까지 반복 실행하고 싶을 때 사용합니다.

        - break 문을 통해서 언제든지 반복을 멈출 수 나올 수 있습니다. 

    * 상식 (compile 언어에는 존재,)

        - switch문 (python에는 존재하지 않음)

            - 숫자에 따라 다른 code를 수행하고 싶을 때 if문보다 좀 더 깔끔하게 사용할 수 있습니다.

 

3. 반복문을 제어하는 문

    1) continue 문

        정의 :  제어 흐름을 유지합니다.

        용도 : 코드 실행을 건너뛸 때 사용합니다.

    2) break 문

        정의 : 제어 흐름을 멈춥니다.

        용도 : 반복 문을 종료할 때 사용합니다.

 

4. 사용법 

    1) if { elif else } 문

        (1) 문법 

            if (조건):        // 필수 입니다. 

                code.....

            elif (조건):      // 옵션 입니다. 

                code.....

            else:              // 옵션 입니다. 

                code.....

         (2) 조건에 들어갈 수 있는 연산자 종류 (일단 비교 연산자만 알면 됩니다, 가장 많이 씁니다. 90% 정도)

             - 비교 연산자, 비트 연산자, 논리 연산자

비교 연산자
비트 연산자
논리 연산자
식별 연산자

        (2) 사용 방법

status = "run"

if (status == "run"):
    print ("run")

    2) for  in 문

        (1) 문법

            for 변수 in iterable 한 자료:

                code....

        (2) 사용 방법

            - for in 문은 range() 함수 또는 iterable(반복 가능한) 자료 형 들과 함께 사용합니다.

            - iterable 한 자료 형은 위에 4-2)에 열거된 자료형들입니다.

#range(0, 10)는 숫자를 0부터 1씩 증가시켜 10개를 생성한다.
for i in range(0, 10):
    print(i)


#list는 iterable한 자료형 입니다.
var_list = ["me", "you", "mom", "dady"]    
for item in var_list:
    print(item)

    3) while 문

        (1) 문법

            while (종료 조건):

                code....

        (2) 사용 방법

#테스트 코드
cnt = 5
while (cnt != 0):
    print(cnt)
    cnt -= 1
    
#조건에 ()가없어도 됨
cnt = 10
while cnt != 0:
    print(cnt)
    cnt -= 1
    
#break로 도중에 빠져나오기
cnt = 10
while cnt != 0:
    if (4 == cnt):
    	break
    print(cnt)
    cnt -= 1

 

배운 거로 만들 수 있는 프로그램

1. Up & Down 게임 

    1) 필요 함수 

        input() 함수

 

    2) 기본 틀 (맞출 때까지 돈다)

luck_number = 7

while (True):
    number = input("숫자를 입력 하세요")
    ....
    코드 작성 필요
    ....

    3) 결과

2. Up & Down 횟수 제한 

    - Up & Down 게임에 횟수 제한을 두어서 게임을 빨리 끝나게 합니다

 

 

참조 사이트

Python 자료형 정리

 

https://datascienceschool.net/01%20python/02.14%20%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%98%20%EC%9E%90%EB%A3%8C%ED%98%95.html

 

2.14 파이썬의 자료형 — 데이터 사이언스 스쿨

.ipynb .pdf to have style consistency -->

datascienceschool.net

 

C++ 자료형 정리 

https://myblog.opendocs.co.kr/archives/1230

 

[C++ 정리] 자료형의 크기 및 범위 | Opendocs

__int64 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

myblog.opendocs.co.kr

 

Python 유효 범위 

https://wikidocs.net/16055

 

29. 변수 scope

- **Java & C#, Javascript, Python 변수 스코프가 조금씩 차이가 있음. 주의요망** ## 1. javascript와 Python 차이 - 코드로 ...

wikidocs.net

 

Python책 , jump to the python

https://wikidocs.net/book/122

 

Python 3.4 공부 좀 해볼까?

python 공부하기

wikidocs.net

 

728x90
반응형

'강의 > python3' 카테고리의 다른 글

[python3] 6강. function(함수)  (0) 2022.04.13
[python3] 5강. 집합 관련 자료형 -2  (0) 2022.04.12
[python3] 3강. 프로그램의 기본 구조  (0) 2022.04.04
[python3] 2강. 강의 커리큘럼  (1) 2022.03.30
[python3] 1강. OT  (0) 2022.03.30