-
[Python] Part.3 함수 및 변수Python 2023. 2. 7. 17:16
Ch03-01. 함수
함수란? 입력값을 받아서 출력값을 내어놓는 것.
수학에서는 f(x) = y로 표현.
ex) y = 3x + 4
Python으로 함수 작성 하는법
def 함수이름(x1, x2, x3): 문장1 문장2 return y ex) def hello(): print(“hello”) def addition(a, b): return a+b def add_and_multiple(a,b): return a+b, a*b
def function(x): y = 3*x+4 return y _ function(1) 7 #결과 _ result = function(2) print(result) 10 #결과
def hello(): print('hello') _ hello() hello #결과
def add_and_multiplicattion(x, y): return x+y, x*y _ a = add_and_multiplicattion(3, 4) _ a, b = add_and_multiplicattion(3, 4) _ print(a) print(b) #출력 7 12
Ch03-02. 매개변수와 글로벌 변수
매개변수란?
def addition(a, b): return a+b 위와 같은 예제에서 a, b와 같이 입력값들을 매개변수라 부른다.
매개변수의 기본값을 지정해 놓으면?
def addition(a = 1, b = 3): return a+b 위와 같은 상황에서 addition(3)을 입력하면? ⇒ 3 + 3 = 6이 나온다. addition(b=1)을 입력하면? ⇒ 1 + 1 = 2가 나온다. * 주의 addition(a=3, 2)와 같은 표현은 불가능하다.
① 입력값이 몇 개가 될 지 모를 때는?
def 함수(*매개변수): 수행할 문장 예시) def func(*args): for i in args: print(i) => args에 들어간 인수들이 tuple 형태로 변환되어 args라는 매개변수에 들어간다.
② 입력값이 몇 개가 될 지 모를 때는?
def 함수(**매개변수): 수행할 문장 예시) def printer(**args): return args ⇒ **args에 들어간 인수들이 dictionary 형태로 변환되어 **args라는 매개변수에 들어간다. ⇒ **변수이름 형태의 경우 반드시 ex)def func(a=1, b=2)와 같은 형태로 매개변수 이름을 지정해야 한다.
매개변수에 전달되는 값은?
def test(): a=2 print(a) _ a = 3 test() print(a) 2 3
Local 변수와 global 변수
- local 변수 : 함수 안에서 만든 변수는 함수 안에서만 살아있다가 함수 코드가 실행 종료되면 변수도 같이 사라짐.
- global 변수 : 반대로 함수 외부에서 만든 변수는 프로그램이 실행되어 있는 동안에 계속 살아있음.
함수 내부에서 global 변수를 부르려면
a= 3 def f(): global a a += 1 print(a) _ f() 4 _ print(a) 4 또는 def f(): global a a = 1 a += 1 _ f() 2
Ch03-03. 함수 작성 실습
generator와 yield
def gen(n): while n > 0 : yield n n = n - 1 yield를 통해 생성된 값들은 바로 계산되지 않고 호출 되었을 때 비로소 계산됨. (lazy operation) _ for i in gen(5): print(i) 50 40 30 20 10
def abs(num): #return만나면 함수가 종료됨 if num > 0: result = num else: result = num * -1 return result print(abs(-7)) print(abs(12)) 7 12
# 두 수를 받아서 사칙연산결과를 출력 def cal(num1, num2): print("{} + {} = {}".format(num1, num2, num1 + num2)) print("{} - {} = {}".format(num1, num2, num1 - num2)) print("{} * {} = {}".format(num1, num2, num1 * num2)) print("{} / {} = {}".format(num1, num2, num1 / num2)) cal(12, 3) 12 + 3 = 15 12 - 3 = 9 12 * 3 = 36 12 / 3 = 4.0
def hello(): print('안녕') print('만나서 반가워') # 함수호출 hello() hello() 안녕 만나서 반가워 안녕 만나서 반가워
'Python' 카테고리의 다른 글
[Python] Part.6 상속과 예외처리 (0) 2023.02.15 [Python] Part.5 클래스 (0) 2023.02.07 [Python] Part.4 함수 심화학습 (0) 2023.02.07 [Python] Part.2 제어문 (2) 2023.02.06 [Python] Part.1 Python의 자료형 (0) 2023.02.04