-
Python 함수 FunctionAI/Python 2020. 12. 18. 13:53728x90
Python의 함수에 대해서 훝어본다.
#function def aaaa(a, b): #함수 정의 parameter a c=a+b return c #return 값 #aaaa(input("First number"), input("Second number")) #함수호출 print('This is %d function' %int(aaaa(int(input("First number")), int(input("Second number")))))
함수에서 형을 구분하지 않아서 input시 str로되기 때문에 형변환을 해줘야 계산을 한다.
형변환을 하지 않으면 str로 구분되어 숫자를 넣어도 두수의 합이 아니라 문자열더하기를 한다.
예를들어 3,4를 입력하면 형변환시 7이지만 형변환을 안하면 34가 나온다.
만약 input으로 받지 않는다면 함수에서 자동 형변환이 일어난다.
함수내부의 변수는 지역변수이고 함수내부에서만 사용된다.
#a의 type은 float다. a는 함수에 사용된 변수이지만 함수의 지역변수이므로 전역변수로 사용가능하다. 명칭의 재사용 #함수에서 전역변수를 쓰려면 global을 사용하면 된다. a=aaaa(3.4,3.6) print(a) k=1 def bbbb(): global k k=10 return k print(bbbb()) print(k)
재귀함수
#재귀함수 자기자신을 다시 호출하는 함수 def total(num): if num == 1: return 1 else: return num + total(num-1) #재귀함수를 통해서 10에서 -1빼면서 더해서 1이 되면 1을 리턴하면서 함수가 종료된다. print(total(10))
map() 함수
#map()함수 list요소를 함수에 적용할 때 사용 #map(함수명, 리스트) def ab(a): if a % 2 == 0: return(str(a) + "짝수") else: return(str(a) + "홀수") list1 = [1,2,3,4,5,6,7,8,9,10] list2 = list(map(ab, list1)) print(list2)
lambda 표현식
#함수를 간단하게 표현 한번만 실행함 plus = lambda a, b:a+b a=plus(1,2) print(a) #lambda 표현식 내부에 조건문 사용 a3 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] #b3 = list(map(lambda x:"짝" if x % 2 == 0 else x, a3)) 홀짝구분 b3 = list(map(lambda x:'짝' if ('3' in str(x)) or ('6' in str(x)) or ('9' in str(x)) else x, a3)) #3,6,9 구분 print(b3)
728x90반응형'AI > Python' 카테고리의 다른 글
Python File 읽기 쓰기 기초 (0) 2020.12.18 Python 모듈 기초 random, time (0) 2020.12.18 Python Class 기초 (0) 2020.12.18 Python 조건문, 반복문 (0) 2020.12.18 Python 기초 자료형 (0) 2020.12.17