2021. 6. 24. 12:05ㆍ강의 내용 정리/웹파이썬 프로그래밍
지난 학습 복습 : Function(함수) 1/2
- 특정한 입력값이 주어졌을 때 정해진 규칙에 따라 출력값을 출력하는 것
- 수학에서의 함수와 동일하지만 프로그래밍에서의 함수는 입력이 없는 경우나, 출력이 없는 경우가 존재한다.
- 지역변수 (Local variables) : 함수 내에 존재하는 변수이다.
- 지역변수는 함수 바깥에서 사용할 수 없다. 바깥에서 사용이 가능하면 무수히 많은 함수 내의 변수 명을 사용하지 못하기 때문이다.
- 반대로 함수 바깥에 존재하는 변수이지만 입력 파라미터로 받지 않는 경우는 전역 변수(Global variables)이다.
# 함수 내에 있는 변수는 지역 변수라고 한다.
# function 정의
def quadratic(a, b, c, x):
global global_variables # function body
first = a * x **2 # function body
second = b * x # function body
third = c # function body
return first + second + third + global_variables
global_variables = 0
# function call
quadratic(2, 3, 4, 2) # 18
quadratic(2, 3, 4, 1.0) # 9
# quadratic()의 지역 변수 : first, second, third
# global_variables : 전역 변수의 함수 내 사용
- 내장 함수(빌트인 함수)의 경우 help() 명령어를 사용해서 함수에 관한 내용을 찾는다.
강의 내용
0. 질문
Q : 프로그래밍에서 실수를 계산할 때, 정확하게 표현할 수 없는 이유가 무엇인가요?
A : 컴퓨터는 모든 수를 이진수로 표현한다. 따라서 정수는 정확하게 계산할 수 있지만 실수의 경우 근사값으로 치환해서 표현한다. 따라서 실수의 경우 오차가 발생할 수 밖에 없다. 이후 컴퓨터를 통해 정확하게 수를 표현하고 계산할 필요가 생겼는데 이때, 이를 위해 '수치해석학'이라는 학문이 도입되었다.
만약 소수점을 정확하게 표현하고자 한다면 round()함수를 통해 소수점 자릿수를 지정한 뒤, 출력하면 된다.
0.1 + 0.3 # 0.30000000001
round(0.1+0.2, 1) # 0.3
1. 사용자 정의 함수 디자인
- 직관적으로 내용을 다 알 수 있도록 짠다.
1-1. 좋은 사용자 정의 함수란?
- 다음과 같은 내용을 유기적으로 작성하는 것
- 아이디어
- 함수명
- 입력 파라미터
- 리턴 값
- Function body (세부적으로 작성한다.)
# Documentation 예시
def days_difference(day1, day2):
''' (int, int) -> int # 입력 파라미터의 데이터 타입과 리턴 값의 타입
입력받은 day1과 day2의 차이를 리턴한다. # 함수에 대한 설명
단, day1에서 day2를 뺀다.
>>> days_difference(240, 221) # 예시
19
>>> days_difference(110, 109)
-1
>>> days_difference(50, 50)
0
'''
return day1 - day2
'강의 내용 정리 > 웹파이썬 프로그래밍' 카테고리의 다른 글
웹파이썬 프로그래밍 - 조건문(Conditional statement) (0) | 2021.07.08 |
---|---|
웹파이썬 프로그래밍 - Boolean (0) | 2021.07.06 |
웹파이썬 프로그래밍 - String(문자열) (0) | 2021.06.29 |
웹파이썬 프로그래밍 - Function(함수) 1/2 (0) | 2021.06.19 |
웹파이썬 프로그래밍 - Variables(변수) (0) | 2021.06.16 |