강의/python3

[python3] 7강. 중간 정리 (프로그램 구조, 변수, 제어문, 함수)

jinkwon.kim 2022. 4. 23. 18:25
728x90
반응형

목표 

프로그램 구조에 대한 중간 정리 입니다. 

1.프로그램 기본 구조

 

[python3] 3강. 프로그램의 기본 구조

목표 프로그램의 기본 구조에 대하여 알아 봅니다. 강의영상 https://youtu.be/DS89SziAFAk Program의 기본 구조 program은 일반적으로 여러 파일로 쪼개져서 구현이 됩니다. 하지만 모든 파일의 구조는 아래

doitnow-man.tistory.com

2. 변수

 

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

목표 1. 변수가 무엇인지 그리고 변수를 어떻게 사용되는 알아보겠습니다. 2. 제어문이 무엇인지 그리고 제어문 어떻게 사용되는 알아보겠습니다. 3. 변수가 제어문에서 어떻게 사용하는지를 알

doitnow-man.tistory.com

3. 제어문

 

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

목표 1. 변수가 무엇인지 그리고 변수를 어떻게 사용되는 알아보겠습니다. 2. 제어문이 무엇인지 그리고 제어문 어떻게 사용되는 알아보겠습니다. 3. 변수가 제어문에서 어떻게 사용하는지를 알

doitnow-man.tistory.com

4. function(함수)

 

[python3] 6강. function(함수)

목표 1. function이 무엇인지 배워 봅니다. 2. function를 왜 써야 하는지 배워 봅니다. 3. function의 종류 4. function 사용법 강의 https://www.youtube.com/watch?v=og-d4H2i_oo&ab_channel=%EA%B9%80%EC%A7%8..

doitnow-man.tistory.com

 

강의 

https://www.youtube.com/watch?v=jctwydKshrc&ab_channel=%EA%B9%80%EC%A7%84%EA%B6%8C 

프로그램 구조

program은 일반적으로 여러 파일로 쪼개져서 구현이 됩니다.

하지만 모든  파일의 구조는 아래를 따릅니다.

1. Header 들... (필수, python은 예외)

    - Header의 목적은 각종 library(기능들의 묶음)를 program에서 사용하겠는 것을 선언하기 위한 것이다.

2. class 들...(선택)

    - class의 목적은 연관된 (변수 + function) 을 묶어 놓기 위해한 것이다.

3. function 들...(선택)

    - 자료(=data) 를 처리 하기 위해 사용됨

4. main function(필수)

    - program의 시작 위치

예제 

#header
import os

#Class들...
class Hello:
    def __init__(self, name):
        self.name = name

    def GetStr(self):
        return self.name

#function 들...
def Helloworld():
    return "hello world"

#main function
if __name__ == "__main__":
    print("hello world")

    print(Helloworld())

    h = Hello("Hello world")
    print(h.GetStr())

변수 

1. 정의

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

    * 비유 설명

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

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

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

 

2. 선언

    1) program에서 선언이란?

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

 

    2) 선언 방법

        변수명 = 

3. 자료의 종류

    * 자료형 확인 방법

        - 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])

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

    1) 변수의 scope란?

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

 

    2) scope에 따른 변수 구분

        (1) global 변수

            - 함수 에 선언된 변수

        (2) local 변수

            - 함수 에 선언된 변수

제어문

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 문

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

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

Function이란?

    - 특정 목적의 작업을 수행하기 위한 코드의 집합입니다.

 

Function을 사용하는 이유?

1. 반복 작업 회피

    - program에서 특정 작업을 여러 번 반복해야 할 때 function를 사용해서 Code를 재사용 하면됩니다.

2. 가독성 

    - program을 여러 개의 function로 나누어 모듈화를 하면 전체적으로 Code의 가독성이 좋아집니다.

3. 쉬운 유지 보수

    - 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수를 할 수 있습니다.

 

Function의 종류

1. 표준 function(=내장(Built-in) function) 

    1) 정의 

        - "표준 library"에서 제공하는 function입니다.

    2) 특징

        - import를 하지 않아도 사용할 수 있습니다.

    3) python 표준 library

https://docs.python.org/ko/3/library/index.html

 

2. 사용자 정의 function

    1) 정의

        - 사용자가 직접 만들어서 사용하는 function 입니다.

 

사용자 정의 function의 생성

1. 문법

    1) 정의

        (1) def 

            - function 정의 할 떄 사용하는 구문입니다.

        (2) function_name

            - function name은 소문자여야 하며 가독성을 높이기 위해 필요한 경우 밑줄로 단어를 구분해야 합니다.

              (언어마다 code convetion이 다 다릅니다)

        (3) parameter(매개 변수)

            - parameter name은 소문자여야 하며 가독성을 높이기 위해 필요한 경우 밑줄로 단어를 구분해야 합니다.

              (언어마다 code convetion이 다 다릅니다)

            - parameter는 없어도 됩니다.

        (4) code

            - function에서 실행할 코드를 정의합니다.

        (5) 반환 형식 정의

            - code가 한 줄이라고 있으면 없어도 됩니다.

            - return으로 호출한 곳에 값을 전달할 수 있습니다.

            - code가 아예 없는 경우 pass를 사용합니다.

    2) 호출

        (1) function_name

            - 호출할 function_name을 사용합니다.

        (2) argument(전달인자)

            - 변수또는 literal 값을 사용합니다.

              *literal

                  - 소스 코드의 고정된 값을 대표하는 용어 입니다.

                  - https://ko.wikipedia.org/wiki/%EB%A6%AC%ED%84%B0%EB%9F%B4

            - function 정의 따라 argument는 없을 수도 있습니다.

 

    3) parameter와 agrument 로 구분하는 이유?

        - parameter는 변수를 의미 합니다. 

        - argument는 값을 의미 합니다.

 

 

 

 

728x90
반응형

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

[python3] 9강. class  (0) 2022.04.29
[python3] 8강. programming 방법론  (0) 2022.04.29
[python3] 6강. function(함수)  (0) 2022.04.13
[python3] 5강. 집합 관련 자료형 -2  (0) 2022.04.12
[python3] 4강. 변수와 제어문 -1  (0) 2022.04.07