내가 직접 설정 할 수 있는 함수!!
def add(a,b): return a+b
def say(): #()안에 아무것도 없음!
return 'hi'
def add(a,b):
print(a+b) #리턴이 없음!
def say(): #()없음!
print('hi') #리턴도 없음!
모두 가능하다!! (아량 넓은 def)
<다수의 숫자를 입력 받고 합을 출력!>
def add(*a):
result = 0
for i in a:
result+=i
return result
별을 두개 붙히면 딕셔너리로도 사용가능!!
def dic(**a):
return a
define(정의)를 하고 함수를 사용해보자!
결과값:
dic(a=1)
{'a':1}
def introduce(name,old,man=True):
print("나의 이름은 %s 입니다." %name)
print("나의 나이는 %s 입니다." %old)
if man:
print("남자")
else:
print("여자")
introduce('원재연',25,True)
이렇게 사용하면
결과값은
나의 이름은 원재연 입니다.
나의 나이는 25 입니다.
남자
이렇게 출력이 된다!!
저기서 만약 True를 입력하지 않는다면
남자는 제외되고 출력이 될 것이다.
a=1
def test(a):
a= a+1
test(a)
라는 코드를 입력하면??
결과값이 출력이 되지않는다!!
왜냐하면 a라는 변수는 전역변수가 아닌 지역변수이기 때문!!
이러한 문제를 해결 하기 위해서는
1. return 사용
2. global 명령어 사용하기
return은 평소 쓰던대로 그대로 쓰면 되고
global은
a = 1
def test():
global a
a= a+1
test()
print(a)
이렇게 사용해주면 a도 사용이 가능하다!!
나는 return을 주로 사용할 것 같다.
내가 정말 애용할 것 같은 함수이다.
사용법도 정말 간단.
add = lambda a,b:a+b
이것이
def add(a,b):
return a+b
와 같은 역할을 수행 한다는것!!
한줄로 깔끔히 요약이 가능해서 가독성도 늘어날 것 같고 간단해서 자주 사용할 것 같다!!