본문 바로가기
Python

[python] 함수

by 남민섭 2023. 3. 7.
728x90
반응형

함수

def란  

define줄임말 >>>>  뜻은 함수를 정의하다

 

def 함수명(매개변수):
	수행할 문장


매개변수

함수에 입력으로 전달받는 값을 받는 변수

def add(a,b):
	return a+b

인수 

함수를 호출할때 전달하는 입력 값

re = add(1,2)  <<()안에 인수라고함
re >>>>> 결과값 3

 


1. 일반적인 함수

입력값과 리턴값이 있는 함수

def add(a,b):
    print("aaaa")
    return a + b

re = add(10,20)
print(re)

#aaaa
#30

 

2. 입력값이 없는 함수

*리턴이 없을경우 None 출력

def printHi():
    print("안녕")
    return 10

print(printHi())

#안녕
#10

 

3. 매개변수 지정해서 호출하기

매개변수 지정해서 호출하면 순서에 상관 없이 사용할 수 있음

def sub(a, b):
    return a - b

re2 = sub(a =10, b = 20)
print(re2)

#-10

 

4. 입력값이 몇개가 될지 모를 때 *매개변수

입력값을 전부 모아서 튜플로 만들어줌!!!!

def addMany(*args):
    result = 0
    for i in args:
        result = result + i
    return result
re3 = addMany(1, 2, 3, 4, 5)
re4 = addMany(2, 3, 4)    

print(re3)
print(re4)

#15
#9

 

5. 매개변수에 초기값 설정하기

def sayMy(name, age , man=True):
    print("나의 이름은 %s 입니다"%name)
    print("나의 나이는 %d살 입니다" %age)
    if man:
        print("남자입니다")
    else:
        print("여자입니다")
            
sayMy("김그린", 22)
sayMy("이블루", 30, False)  

#나의 이름은 김그린 입니다
#나의 나이는 22살 입니다
#남자입니다

#나의 이름은 이블루 입니다
#나의 나이는 30살 입니다
#여자입니다

 

6. 람다 함수

lambda 매개변수1, 매개변수2 : 매개변수를 사용한 표현식

lambdaAdd = lambda a, b : a + b

 

실습

#12345를 인수로 받아서 [5,4,3,2,1]리턴
# int("100") ====> 정수로 형변환
# list() ====> 리스트로 형변환
# str() ====> 문자로 형변환
def solution(n):
    answer = []
    for i in str(n):
        answer.append(int(i))
    answer.reverse()
    return answer
    
print(solution(12345))


def avgNumber(*nums):
    result= 0
    for i in nums:
        result += i
    result2 = result / len(nums)
    return result2
    
print(avgNumber(1,2,3))
print(avgNumber(5,6,8,9,8)) 

#[5, 4, 3, 2, 1]
#2.0
#7.2

 

728x90
반응형

'Python' 카테고리의 다른 글

[python] 파일 읽고 쓰기  (0) 2023.03.07
[python] print함수  (0) 2023.03.07
[python] random 모듈  (0) 2023.03.07
[python] 제어문 - 반복문(for 문)  (0) 2023.03.07
[python] 제어문 - 반복문(while문)  (0) 2023.03.07

댓글