
히도 판로쉼 1991년 개발
✅다중 프로그래밍 패러다임 채용
정의: 프로그램을 생성하는 접근방식
명령형 프로그래밍, 절차적 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍 지원
✅ 다목적 활용
응용 프로그램과 웹, 백엔드 개발, 사물 인터넷 분야 뿐만 아니라 교육적인 목적으로도 활용
1991년 ABC 후속 프로그래밍 언어로 시작
1999년 DARPA 'Computer Programming for EveryBody' 제안
2000년 파이썬 2.0 출시
-> 커뮤니티를 통한 개발 체계 시작
2008년 파이썬 3.0 출시
-> 비 하위 호환성을 갖는 메이저 업데이트 (2.0 때 버전과 문법도 달라짐)
메이저 업데이트란? 파이썬 3.0 에서 정수 부분이 업데이트 되는게 메이저업데이트
마이저 엡데이트란? 파이썬 3.0 에서 소수점 뒷부분이 업데이트 되는게 마이저 업데이트
1) 장점
독립성 (운영체제 안가림) / 오픈소스 / 인간적 / 신속성 / 직관적
2) 단점
C나 Java 등으로 작성된 프로그램보다 느린 속도
완전한 애플리케이션 단독 개발이 불가능
1) 파이썬 실행 환경
동적 타이핑 대화형 언어
2) 파이썬 프로그램 실행과정
파이썬 애플리케이션은 소스코드 형태로 배포
-> CPython 이 컴파일 후 바이트코드.pvc 파일 생성
-> 파이썬 가상머신은 바잍코드를 한 라인 씩 실행
-> 변경없이 재실행 시 바이트코드로 빠르게 실행
1)IDLE
기본으로 포함된 파이썬의 통합개발 환경
-> 파이썬과 Tkinter GUI 툴킷으로 개발
-> 구문 강조, 자동 완성, 스마트 들여쓰기 등이 포함된 단순한 IDE 지향
-> stepping, breakpoint, call stack 등을 확인할 수 있는 통합 디버거 환경 제공
2) 주피터 노트북
파이썬을 비롯한 40여개의 프로그래밍 언어 지원
전통적인 소스코드- 컴파일-실행 방식에서 벗어나 웹기반 대화형 개발 및 실행 환경
문서화하여 다른 사람과 공유하기가 편리
마크다운을 이용하여 코드 관련 타이틀, 설명 등 작성 가능
3) 구글 Colab
2017년 과학 연구와 교육을 목적으로 개발
클라우드 기반 주피터 노트북 갭라 환경
-> 주피터 노트북 + 구글 드라이브를 결합한 서비스
-> 데이터 분석 및 딥러닝 연산 등 고성능 컴퓨팅 리소스 활용 가능
1) 숫자
a. 정수 (integer) : 소수점이 없는 숫자
b. 실수 (floating point) : 소수점이 포함되는 숫자
2) 문자
유니코드 기반 문자 또는 문자열
인용부호 " 또는 '를 사용하여 표현
3) 기본 연산자와 표현식
피연산자와 연산자를 이용한 표현식은 파이썬 인터프리터에 의해 자동계산

4) 함수
특정 작업을 수행하는 코드의 집합(명령문의 집합)으로 함수의 이름만으로 실행할 수 있는 단위
print 함수 : 화면에 데이터를 출력하는 작업
print("hello world!")
-> print : 함수 이름
-> ("") : 입력값(파라미터)
5)들여쓰기
파이썬은 들여쓰기에 의존적 언어!
파이썬에서는 코드의 논리적 집합인 블록을 표현
6) 문서화
주석 사용
1) 변수
명령형 패러다임 언어의 특징
-> 처리할 데이터와 처리된 결과를 임시적 저장
-> 변수의 값을 변경하는 할당연산자(=)를 이용
a = 20

2) 값의 할당
프로그램이 실행되는 과정에서 처리되는 값이 어떤행위(입력, 연산 등) 에 따라 그 값이 변할 수 있는 메모리 내의 저장공간 지정
식별자, 저장공간, 값으로 지정
3) 식별자
프로그램 내부에 정의된 객체(변수,함수등)의 이름
4) 예약어
파이썬 인터프리터에 의해 이미 문법적인 용도로 사용되어 식별자로 사용이 불가능한 단어
5) 변수의 사용
# 반지름, 높이 값 할당
rad = 2
hei = 3
# 부피 출력
print(1 / 3 * 3.14 * rad ** 2 * hei )
# 겉넓이
print(3.14 * rad ** 2 + 3.14 * rad * hei)

1) 피연산자에 대해 지정된 산술연산을 지시하는 기호
2) 특수 산술연산자
프로그래밍 언어에서만 사용되는 연산 또는 부호
5/2 # 답:2.5
5//2 # 답:2
3) 연산자 우선순위
표현식에 사용된 여러 연산자의 연산 순서를 결정
괄호 -> 지수연산자 (제곱)-> 곱셈, 실수 나눗셈, 정수나눗셈, 나머지 연산자 (왼쪽-> 오른쪽)
-> 덧셈,뺄셈 연산자 -> 할당 연산자
4) 파이썬 내장 함수
파이썬 인터프리터에서 기본적으로 지원하는 함수
-> 별도의 모듈이나 패키지 없이 사용 가능
max,min,abs(절대값)
1) 구조적 프로그래밍 패러다임
-> 순차구조
-> 선택구조
-> 반복구조
a. 순차구조
실행 흐름을 주저이즌 명령의 위치적 흐름에 따라 수행하는 구조
-> 명령라인 위에서 아래로 흐르는 가장 직관적인 구조
b. 선택구조
특정 영역 내의 명령문에 대한 실행 여부를 프로그램 실행 과정 중 결정하는 구조
-> 실행 여부는 조건에 따라 결정
c. 반복구조
특정 영역의 명령문을 여러번 재실행 하는 구조
-> 반복횟수를 조건에 따라 결정
실행 흐름을 주저이즌 명령의 위치적 흐름에 따라 수행하는 구조
-> 명령라인 위에서 아래로 흐르는 가장 직관적인 구조
-> 일단 첫 단계를 시작하면 마지막 단계까지 수행
1) 사용자 입력
- input : 사용자로부터 데이터를 입력받는 함수
- 입력 데이터를 문자 데이터 타입으로 반환
- 함수의 파라미터는 입력 안내문의 목적으로 사용
rad = inpuyt("반지름을 입력하세요: ")
설계 미숙, 결함 또는 문법 오류로 프로그램이 의도한대로 결과를 생성하지 못하는 문제
a. 구문오류(sysntax error)
문법상 오류
b. 실행오류(runtime error)
논리적으로 실행 불가능
c. 의미오류(semantic error)
의미적으로 잘못 해석되는 명령문 오류
#반지름, 높이 값 할당
rad = int(input("반지름을 입력하세요: "))
hei = int(input("높이를 입력하세요: "))
#sep="" 공백 없이
#부피 출력
print("부피 :", 1 / 3 * 3.14 * rad ** 2 * hei , "입니다" , sep="")
#겉넓이 출력
print("겉넓이: ",3.14 * rad ** 2 + 3.14 * rad * hei, "입니다",sep="")
여러개의 데이터를 단일 함수로 출력 가능
특정 영역 내의 명령문에 대한 실행 여부를 프로그램 실행 과정 중 결정하는 구조
-> 실행 여부는 조건에 따라 결정
