Python 29 - (복습) 함수

2021. 5. 21. 17:25python

반응형
def sum_many(args):
    sum = 0
    for i in args:
        sum = sum + i
    return sum
print(sum_many(1, 2, 3)) ---> 출력값 6
args 는 argument로 여러개의 인자값을 받게 끔 한다.

----------------------------------------------------------

def say_myself(name, old, man=True):        man은 조건이 없으면 True로 지정
    print("나의 이름은 %s 입니다." % name)
    print("나이는 %d살 입니다." % old)
    if man:
        print("남자입니다.")
    else:
        print("여자입니다.")
        
say_myself("라이유튜브", 20)

say_myname이라는 상자에 이름 나이 성별이라는 변수가3가지이기 때문에
맨 밑에 변수 입력하는 곳에 3가지 모두 작성해야만 값이 출력되지만
man을 True로 지정 해놨기 때문에 2가지만 작성해도 오류가 나지 않는다.

출력값
나의 이름은 라이유튜브 입니다.
나이는 20살 입니다.
남자입니다.

----------------------------------------------------------
a = 1
def vartest(a):      함수 안에 있는 a는 함수 밖에 있는 a와 상관이
    a = 2            전혀 없고 함수 안에서만 있는다.
vartest(a)           따라서 출력값은 첫째줄에 나와있는데로 그냥 1이다.
print(a)


함수 안에 있는 a가 밖에 a에게 영향을 주려면 두가지 방법이 있다.
1번 - return 사용하기
a = 1
def vartest(a):
    a = a + 1
    return a             return 값 추가
a = vartest(a)
print(a)

2번 - global 사용하기
a = 1
def vartest():
    global a            global 값 추가
    a = a+1
vartest()
print(a)
----------------------------------------------------------

Lambda
def add(a,b):
	return a+b
 위 함수를 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))   --->2

 myList의 0번째 있는 것에 a+b레 각 1,2를 넣어서 계산해서 출력
 [1]로 바꾸면 두번째 계산이 들어가서 출력값이 2로 나옴
 함수의 이름도 안정하고 아주 편리하게 사용 가능함
[0]번째는 a+b  [1]번째는 a*b 
 
----------------------------------------------------------
input
number = input("숫자를 입력하세요")
print(number)
숫자를 입력하세요 10  <---- terminal에 숫자를 입력하면
10           <------- 이렇게 값이 출력된다.
----------------------------------------------------------
print문
print("life" "is" "too short")  ""사이에는 +가 설정되어있다.
print("life", "is", "too short")  콤마는 띄어쓰기가 된다.

for i in range(10):
    print(i, end=" ")   end=" " 1 2 3 4이렇게 띄어써서 출력된다.
반응형