함수의 구조
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
.......
reture 리턴값
def sum(a,b):
result = a+b
return result * 정의만 한거임, print()를 넣어 줘야함
print(sum(1,2))
3
#입력값이 없는 경우
def say():
return 'hi'
print(say())
hi
#return출력값이 없음
def sum(a,b):
print("%d,%d의 합은 %d입니다."%(a,b,a+b))
sum(1,2)
1,2의 합은 3입니다.
(feat. 들여쓰기)_ 이해잘안됐음
def sum_many(*args):
sum=0
for i in args:
sum=sum+i
return sum *args 를 넣으면 몇개의 매개변수가 들어어온다고 정의 하지 않아도 됨
print(sum_many(1,2,3))
1
def>for 때문에 def 가 끝이나면 함수도 끝이난다.
def 안에 있는 반복문은 return(들여쓰기2번) 값을 만나면 함수ㅇ가 끝이난다.
return 을 만났기 때문에 2,3 을 실행하지 않고1 만 실행후 끝이남.
def sum_many(*args):
sum=0
for i in args:
sum=sum+i
return sum
print(sum_many(1,2,3))
6
return 값이 for 문안에 포함되어 있지 않기 때문에(들여쓰기 1번), for문 실행이 끝이난뒤
return 값을 만났으므로 최종 6을 출력한다.
# 출력값을 튜플 형태로 낼수 있음
def sum_and_mul(a,b):
return a+b,a*b,a-b * return 값이 여러개 일경우
print(sum_and_mul(1,2))
(3, 2, -1)
def sum_and_mul(a,b):
return a+b,a*b,a-b
print(sum_and_mul(1,2)[0]) *어떤 return 값을 출력 할지.인덱싱으로 []선택할수 있음
# 매개변수기본값을 설정 할수 있음 (주로기본값을 맨끝에 써야함)
def say_myself(name,old,man=True):
print('나의 이름은%s 입니다.'%name)
print('나이는%d살입니다.'%old)
if man:
print('남자입니다.')
else:
print('여자입니다')
say_myself("밍밍",90)
나의 이름은밍밍 입니다.
나이는90살입니다.
남자입니다.
* input 에 man 을 True 값으로 기본값을 설정하였기 때문에 output 값에 따로 쓰지 않도 기본값인 True 나옴
만약 여자 인 False 값을 내고 싶다면,아래 와 같이 output에 False를 넣는다.
say_myself("밍밍",90,False)
#vartest




2를 출력하기 위한 또 다른 방법은,
a=1
def vartest():
global a
a=a+1
vartest()
print(a)
2
#lambda (간단한 함수정의를 축약하여 표현할수 있는 함수)_ list 에 함수를 쓸수 있음
#def add(a,b):
#return a+b
#print(add(1,2)) * 값이 3이 된다, 이걸 아래와 같이 lambda 함수를 사용하여 간단하게 표현 가능함
add=lambda a,b:a+b
print(add(1,2))
3
#함수를 리스트 안에 넣은 예시
myList=[lambda a,b:a+b,lambda a,b:a*b]
print(myList[0](1,2))
3
'Coming > Python_왕초보' 카테고리의 다른 글
Python_immutable VS mutable (0) | 2021.04.29 |
---|---|
Python_입력 과 출력/파일 만들고 읽고 쓰기 (0) | 2021.04.28 |
python_제어문(조건문, 반복문) (0) | 2021.04.16 |
Python_ 리스트 vs 튜플 (번외: 집합) (0) | 2021.04.11 |
Python _ 초보 코밍 1 Day_ AirMacBook (0) | 2021.04.08 |