함수
def sum(a, b):
return a+b
a = 3
b = 4
c = sum(a,b)
print(c)
7
def say():
return 'Hi'
say()
'Hi'
def sum(a,b):
print("%d"%(a+b))
sum(3,4)
7
print(sum(3,4)) # 반환값이 없어서 None이 나온다.
7
None
입력값이 몇 개일지 모르는 경우
def sum_many(*args):
sum = 0
for i in args:
sum = sum + i
return sum
result = sum_many(1,2,3)
result
6
result = sum_many(1,2,3,4,5,6,7)
result
28
함수의 결과값은 항상 하나
def sum_and_mul(a,b):
return a+b, a*b
result = sum_and_mul(3,4)
result # 리턴이 2개인게 아니라 tuple 형식으로 반환된다.
(7, 12)
#2개처럼 받고싶다면 다음과 같이 사용하면 된다.
sum, mul = sum_and_mul(3,4)
print(sum)
print(mul)
7
12
파라미터 초기값 설정하기
초기값 설정시 주의할 점
-
초기화시키고 싶은 입력 변수는 항상 뒤쪽에 위치시켜야 초기화되지 않은 파라미터와 헷갈리지 않는다.
def say_myself(name, man=True, old): ... say_myself('abc',8) # 8이 man에 들어갈 값인지 old에 들어갈 값인지 알 수 없다.
def say_myself(name, old, man=True):
print(name)
print(old)
if man:
print("남자입니다.")
else:
print("여자입니다.")
say_myself('jane', 15, False)
say_myself('jack', 15)
jane
15
여자입니다.
jack
15
남자입니다.
변수 스코프
함수 내에서 사용되는 변수는 함수 영역을 벗어나면 사용할 수 없다.
함수 내에서 사용되는 값을 함수 외부에서도 사용하고 싶으면 return으로 반환해서 사용해야한다.
a = 1
def vartest(a):
a = a+1
vartest(a)
print(a)
1
#global 변수 사용하기
a = 1
def vartest():
a = 5
vartest()
print(a) # 글로벌 변수는 그냥 값 수정이 불가하다.
1
a = 1
def vartest():
global a # 이와같이 글로벌 변수임을 표시해줘야 값 수정이 가능하다.
a = 5
vartest()
print(a)
5
참고 도서 : Do It! 점프 투 파이썬
'Programming > Python' 카테고리의 다른 글
Python 파일 입출력 (0) | 2019.12.26 |
---|---|
Python 사용자 입력, 출력 (0) | 2019.12.26 |
Python 조건문, 반복문 (0) | 2019.12.26 |
Python 변수, 객체, 복사 (0) | 2019.12.25 |
Python tuple, dictionary, set (0) | 2019.12.25 |