-- 13.람다함수.ipynb --
def square(x):
return x**3
print(square(5))
lambda x: x **2
test = lambda x: x**2
print(test(6))
print((lambda x : x**2)(7))
datas = [' watermelon ',' apple ',' mandarin', 'plum']
print(sorted(datas))
def func1(data):
return len(data.strip())
print(sorted(datas))
print(sorted(datas, key = func1)) # 함수의 사용이 아닌 적용이기 때문에 소괄호는 넘기지 않는다.
print(sorted(datas, key=lambda data : len(data.strip())))
num = [1,2,3,4,5,6,7,10,11,12,15,16]
result = list(map(lambda n : n**2, num))
print(result)
num = [1,2,3,4,5,6,7,10,11,12,15,16]
result = list(filter(lambda n : n%2 == 0, num))
print(result)
def wish():
print('집 가기 10분전')
def callBack(func):
func()
callBack(wish)
-- 14.변수의범위.ipynb --
num1 = 10
num2 = 30
def updateNum():
num2 = 20
print(num2) # 함수호출이 종료되면 함수를 실행할 때 필요했던 변수 선언들은 제거.
print(num1)
updateNum()
print(num2)
num1 = 10
def func1():
num2 = 20
print(num2)
print('num1이 글로벌 변수가 맞아? : ','num1' in locals())
func1()
num1 = 10
def func2():
num2 = 20
print(num2)
print('num1이 글로벌 변수가 맞아? : ','num1' in globals())
func2()
num1 = 10
def func3():
num1 = 100
num2 = 20
print(num2)
print('num1이 로컬변수 변수가 맞아? : ','num1' in locals())
func3()
wallet = 100000
def buy_coffee():
wallet -= 4500 # 오류가 생기는 이유는 함수 내부에서 충돌때문
wallet = 100000
def buy_coffee():
global wallet # 이 코드를 실행한 이후 부터 wallet은 global 변수로 사용된다.
wallet -= 4500
print(wallet)
buy_coffee()
print(wallet)