학습 목표
- 함수의 개념을 바탕으로 함수를 사용할 수 있음
- 변수에 값을 할당할 수 있음
- 산술 연산자의 종류와 의미를 설명할 수 있음
주요 용어
- 함수
- 특정 작업을 수행하는 코드의 집합으로 함수의 이름만으로 실행할 수 있는 단위
- 변수
- 처리할 데이터와 처리된 결과를 임시적 저장하는 공간
- 산술 연산자
- 피연산자(operand)에 대해 지정된 산술 연산을 지시하는 기호
- 내장 함수
- 별도의 라이브러리 없이 파이썬 인터프리터에서 기본적으로 지원하는 함수
강의록
프로그래밍 기초
숫자와 문자
- 숫자
1
3.14592
1
53000000
- 정수 (integer)
- 소수점이 없는 숫자
- 실수 (floating point)
- 소수점이 포함되는 숫자
- 정수 (integer)
- 문자
1
"Hello World!"
- 유니코드 (unicode) 기반 문자 또는 문자열
- 유니코드
- 전 세계의 모든 문자들을 표현하기 위해 가변길이의 4byte로 문자를 표현하는 코드 체계
- 유니코드
- 인용 부호
"
또는'
를 사용하여 표현 - 문자가 하나이든, 여러 개이든 파이썬에서는 모두가 문자 타입
- 유니코드 (unicode) 기반 문자 또는 문자열
기본 연산자와 표현 식
피연산자와 연산자를 이용한 표현 식은 파이썬 인터프리터에 의해 자동 계산
| 연산자 | 기능 | | — | — | | + | 더하기 | | - | 빼기 | | * | 곱하기 | | / | 나누기 | | ** | 지수 (거듭 제곱) |
1
2 * (7 + 15)
1
2 ** 10 * 5
1
"computure" + "science"
함수 (function)
- 특정 작업을 수행하는 코드의 집합으로 함수의 이름 만으로 실행할 수 있는 단위
print
함수- 화면에 데이터를 출력하는 작업
함수의 기본 구조
함수의 실행
들여 쓰기
- 파이썬은 들여 쓰기에 의존적인 언어
- 타 프로그래밍 언어에서는 가독성 향상 목적
- 파이썬에서 코드의 논리적 집합인 블록을 표현
- 들여쓰기는 스페이스 4 칸을 권장 (PEP 8)
블록 중첩 시 추가적인 4 칸 들여쓰기 삽입
1 2
print("Hello World!") print("Python is fun")
1 2 3
# 잘못된 예시 print("Hello World!") print("Python is fun")
문서화
- 주석 (comment) 사용
- 가독성 증대로 개발 속도 향상, 유지 보수 용이
- 주석의 종류
- 한 라인 주석에
#
을 사용 여러 라인 주석에
"""
또는'''
3개를 연달아 사용1 2
# 성적 계산 print((4.5 * 2 + 4.0 * 3) / (130 - 66))
- 한 라인 주석에
데이터 저장
원뿔의 부피 & 겉넓이 계산 프로그램
원뿔의 부피 & 겉넓이 계산 알고리즘
1 2 3 4
print(1 / 3 * 3.14 * 20 ** 2 * 30) # 반지름 20, 높이 30 print(3.14 * 20 ** 2 + 3.14 * 20 * 30) # 부피 출력 # 겉넓이 출력
- 부피 =
1/3 * π * r^2 * h
- 겉넓이 =
π * r^2 + π * r * h
- 부피 =
변수 (variable)
- 명령형 패러다임 언어의 특징
- 처리할 데이터와 처리된 결과를 임시적으로 저장
- 변수의 값을 변경하는 할당 연산자 (=) 를 이용
- 오른쪽에 있는 값을 왼쪽에 집어 넣으라는 의미
- 20이 저장된 칸은 rad라는 이름으로 접근 가능
값의 할당
- 프로그램이 실행되는 과정에서 처리되는 값이 어떤 행위 (입력, 연산 등) 에 따라 그 값이 변할 수 있는 메모리 내의 저장 공간 지정
식별자, 저장 공간, 값으로 구성
1 2
rad = 20 # 20 (값) 이 rad (식별자) 라는 저장 공간에 할당됨
식별자
- 프로그램 내부에 정의된 객체 (변수, 함수 등) 의 이름
- 문자, 숫자, 밑줄로 구성
- 문자 또는 밑줄로만 시작 가능
- 예약어와 동일할 수 없음
길이 제한이 없음
1 2
# 올바른 예시 volume, Surface, _50, x, y, __name
1 2
# 잘못된 예시 $D$, 1-a, 2023y, else, class, r+h, 77#R
- 어떤 저장 공간을 어떤 명칭으로 통칭하기 위한 목적으로 사용
- 고유하게 만들어야하는 저장 공간
예약어 (reserved word)
파이썬 인터프리터에 의해 이미 문법적인 용도로 사용되어 식별자로 사용이 불가능한 단어
False await else import pass None break except in True class finally is return and continue for lambda try as def global not with async elif if yield raise or
변수의 사용
1
2
3
4
5
6
7
8
9
# 반지름, 높이 값 할당
rad = 20
hei = 30
# 부피 출력
print(1 / 3 * 3.14 * rad * rad * hei)
# 겉넓이 출력
print(3.14 * rad * rad + 3.14 * rad * hei)
산술 연산자
산술 연산자의 정의
- 피연산자 (operand) 에 대해 지정된 산술 연산을 지시하는 기호
- 단항 연산자 (unary operator)
- 이항 연산자 (binary operator)
특수 산술 연산자
- 프로그래밍 언어에서만 사용되는 연산 또는 부호
1 2 3 4 5
5 / 2 5 // 2 25 % 7 number % 2 8.4 % 0.9
- 정수 나눗셈 연산자 (
//
) - 모듈로 연산자 (
%
)
- 정수 나눗셈 연산자 (
연산자 우선순위
표현 식에 사용된 여러 연산자의 연산 순서를 결정
1
avg = 1 // 3 * 3.14 * 20 ** 2 * (30 + 20 % 10)
- 괄호 내부의 수식
- 지수 (
**
) 연산자 - 곱셈, 실수 나눗셈, 정수 나눗셈, 나머지 연산자
- 왼쪽에서 오른쪽 순서로 적용
- 덧셈, 뺄셈 연산자
- 왼쪽에서 오른쪽 순서로 적용
- 할당 연산자
파이썬 내장 함수
- 파이썬 인터프리터에서 기본적으로 지원하는 함수
- 별도의 모듈이나 패키지 없이 사용 가능
1 2 3 4 5 6
max(2, 3, 4) min(2, 3, 4) round(3.4) pow(2, 3) abs(-3) round(3.141592)
연습 문제
다음과 같은 실행 결과를 얻기 위한 파이썬 코드로 올바른 것은?
1 2
'Computer science is the best' 'Our goal is to predict the future'
a.
1 2
print("Computer science is the best") print("Our goal is to predict the future")
다음 중 식별자로 사용할 수 없는 것은?
a. 270mm
다음 프로그램의 실행 결과로 올바른 것은?
a. 0
학습 정리
- 파이썬은 히도 판로쉼(Guido van Rossum)에 의해 1991년 분산 운영 체제(아메바)의 시스템 관리를 위한 쉘 스크립팅 언어로 개발됨
- 피연산자와 기본 연산자(+, -, *, /, **)를 이용한 표현 식은 파이썬 인터프리터에 의해 자동 계산 됨
- 특정 작업을 수행하는 코드의 집합으로 함수의 이름 만으로 실행할 수 있는 단위를 함수라고 함
- 파이썬은 들여 쓰기에 의존적 언어이며 코드의 논리적 집합인 블록을 표현하는데 사용 됨
- 주석은 개발 속도 향상 시키고 유지 보수를 용이하게 하는 중요한 설명임
- 주석은
#
과"""
을 사용함
- 주석은
- 처리할 데이터와 처리된 결과의 임시적 저장에 변수가 사용되며 할당 연산자의 왼쪽에 정의 함
- 식별자는 프로그램 내부에 정의된 객체(변수, 함수 등)의 이름임
- 프로그래밍 언어에서만 사용되는 산술 연산자로 정수 나눗셈 연산자(
//
)와 모듈로 연산자(%
)가 있음 - 연산자 우선 순위는 표현 식에 사용된 여러 연산자의 연산 순서를 결정함
- 파이썬 내장 함수는 별도의 모듈이나 패키지 없이 파이썬 인터프리터에서 기본적으로 지원하는 함수임