살콤아내 자기계발/파이썬

POSTECH Python 프로그래밍 1 (요약 1-2주)

살콤아내 2021. 3. 22. 16:33
728x90
반응형

WEEK 1

 

Computational Thinking 컴퓨팅 사고력

현실에서 인간이 직면하는 문제들을 컴퓨터가 자동적으로 처리하게끔 추상화하고, 이 추상화된 데이터를 알고리즘/프로그래밍 언어로 표현하는 자동화 과정을 통해 컴퓨터 공학의 원리로 일상생활의 문제를 해결하는 능력. 

 

9가지 컴퓨팅 사고력 (자료를 패턴화/단순화해서 해결책을 단계화)

자료수집>자료분석>자료분석>문제분해>추상화>알고리즘과 절차>자동화>시뮬레이션(자동화의 결과)>병렬화

 

의사코드 (Pseudo Code): 문제를 해결하는 절차를 일반적인 언어로 코드를 흉내 내어 알고리즘을 써놓은 코드

순서도 (Flow-chart): 알고리즘의 논리적 절차, 흐름, 처리방법 등을 그림으로 나타낸 것

 

분할정복 알고리즘 (Divide and conquer)

크고 방대한 문제를 독립적으로 수행시킬 수 있는 작은 단위로 나눠서 그것들을 다시 합쳐서 해결하는 기본 알고리즘

 

파이썬 실행환경 IDLE (Integrated Development and Learning Environment)

- 파이썬 쉘: 짧고 간단한 예제 코드를 대화형식으로 (코드편집기 모드에서 [F5] 누르면 뜸)

- 편집기모드: 길고 복잡한 예제 코드

 

 

 

WEEK 2

Python 언어란?

Gudi Van Rossum에 의해 1991년 발표. 플랫폼 독립적, 인터프리터 언어로 느림, 객체지향, 동적 타이핑 언어, AI프로그램을 위한 많은 라이브러리 제공, 처음 C언어로 구현됨.

 

 

출처: POSTECH Python 프로그래밍 Ⅰ WEEK 2-1 비디오 (3:55)

 

문제해결을 위한 일반적인 프로그램 구조 (모듈화: 복잡한 문제를 단위별로 묶어 일반화/자동화시키는 과정)

입력자료 (data) >> 알고리즘 (problem solving) >> 문제해결 출력자료 (data)

* Module: 큰 문제를 기능별 작은 단위로 나눈 것, 독립적으로 수행할 수 있는 하나의 프로그램 단위

(C언어에서는 Module을 함수라고 말한다)

 

출처: POSTECH Python 프로그래밍 Ⅰ WEEK 2-1 비디오 (13:00)

 

C언어

함수밖 명령+메인함수+함수....+함수 로 구성되어 있다. 절차지향 프로그래밍으로 기능별로 나눠진 독립적인 문제해결과정이 일련의 순서에 따라 처리된다.

- Function (함수=module): 독립적으로 수행할 수 있는 프로그램 단위

- 표준 입출력 함수를 사용하기 위해 <stdio.h> 헤더 파일을 소스코드에 포함시킴. 일반적으로 헤더파일에는 함수의 원형이 포함됨.

입력함수 scanf()

출력함수 printf()

- C언어는 메인함수 main()로 시작되서 main()함수로 끝남

 

 

파이썬

여러개의 프로그래밍 스타일을 포괄한다.

- 절차지향 프로그래밍 설계: 함수가 필수. 일련의 명령어를 통해 변수를 바꿔가며 전체적인 프로그래밍을 동작하게 한다. (함수+함수...+함수+시작코드 로 구성되어 있다)

- 객체지향 프로그래밍 설계: 클래스가 필수. 관계있는 데이터와 함수를 하나로 묶어 선언하는 클래스라는 개념 도입. 클래스는 객체를 생성하는 데이터 타입 역할. (클래스+클래스+함수+....+시작코드 로 구성되어 있다.)

- 함수형 프로그래밍 설계 (기존의 함수와는 다른 수학적 모델링을 통해 프로그램의 동작/능률을 높임. 인수 x에 같은 값을 넣고 함수 f를 호출하면 f(x)라는 결과가 나오므로 프로그램의 동작을 이해하기 쉬움. (클래스+함수+고차원함수+...+시작코드로 구성되어 있다)

 

 

출처: POSTECH Python 프로그래밍 Ⅰ WEEK 2-1 비디오 (20:00)

 

변수(variable)

사용할 데이터를 저장하는 공간 (값을 저장하는 상자)으로 메모리에 저장된다. 

**C언어의 변수는 데이터 타입을 사용해서 변수 선언을 해야한다.

**C언어는 연속해서 쓸 때 ,(콤마)를 쓰고 끝맺을 때 ;(세미콜론)을 쓰지만 파이썬은 연속해서 쓸 때 ;(세미콜론)을 쓴다.

** 파이썬에서 변수는 객체를 담고있는 ID 값을 담고 있는 저장공간이다. >> 동적타이핑이 가능한 이유 (파이썬에서 변수의 데이터 형식은 값을 넣는 순간마다 변경될 수 있는 유연한 구조이다. 변수에는 다른 변수의 값도 저장가능하다.

 

 

 

출처: POSTECH Python 프로그래밍 Ⅰ WEEK 2-2 비디오 (04:00)

 

동적타이핑 (Dynamic typing):

data type 선언을 먼저하는 C언어와 달리 파이썬은 런타임(프로그램이 실행되는 순간)에 구문을 통해 data type을 설정함. 

 

 

입출력 함수 input(), print()  *input함수는 기본적으로 문자열로 인식됨

name = input("이름이 무엇인가요? ")

print("만나서 반갑습니다. " + name + "님 !")

 

결과>> 이름이 무엇인가요? 포닉스

결과>> 만나서 반갑습니다. 포닉스님!

 

정수변환함수 int()     *정수: integer

x = int(input("첫 번째 정수: ") )

y= int(input(" 두 번째 정수: ") )

sum = x + y

첫 번째 정수: 10

두 번째 정수: 20

합은 30

(변환함수를 쓰지 않으면 1020으로 문자열처럼 합쳐짐)

 

 

 

 

728x90
반응형