목표
프로그램 구조에 대한 중간 정리 입니다.
1.프로그램 기본 구조
2. 변수
3. 제어문
4. function(함수)
강의
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는 값을 의미 합니다.
'강의 > 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 |