-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunction.py
More file actions
97 lines (69 loc) · 1.84 KB
/
Copy pathfunction.py
File metadata and controls
97 lines (69 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 16 10:23:29 2021
@author: gi930
"""
#사용자 정의 함수
# 사용자가 정의하는 함수의 형태
# input과 output 관계를 내부에서 정의
# def, lambda(축약형)
# 함수 정의
# f(x) = x + 1
#1. def 방식
# def 함수이름(인수1,인수2,......):
# 함수 본문
# return 반환할 객체
# 숫자를 넣어서 곱하기 10한 값을 반환
def f_mul(x):
v1 = x * 10
return v1
f_mul(10)
# 두 숫자(두개의 인자를 넣구나!) 넣어서 두 숫자의 곱 반환
def f_2_mul(x,y):
return x * y
print(f_2_mul(2,10))
# 인수에 default 값 (기본값 선언)
# def f_d(x=1,y):
# return x* y
# 첫번째 인수에 기본값을 정의하면, 뒤에 나오는 인수도 기본값 정의해야 한다.
#SyntaxError: non-default argument follows default argument
def f_d(x,y=1):
return x* y
# default 값을 갖는 인수는 맨 뒤에 배치
print(f_d(1))
# lambda 축약형
# 비교적 단순한 연산 및 리턴시 사용
# 예제: 숫자를 넣을거예요. 여기에 10을 곱한값을 리턴하세요.
f1 = lambda x: x*10
f1(5)
# 문제
# 3개 숫자를 전달받아 첫 번째와 두 번째 합에 세번째 숫자의 곱 리턴
f2 = lambda x,y,z:(x+y)*z
f2(2,5,3)
#map 함수
f1 = lambda x:x*10
f1(4)
l1 = [1,2,5,10]
f1(l1)
#리스트가 10번 반복
#1) for문 처리
l2 = []
for i in l1:
l2.append(i+10)
print(l2)
# 2) 사용자 정의 함수 + map
# map(func, #적용할 함수
# iterable) #추가할 인수
f1(4)
map(f1,l1)
#<map at 0x14b397e1640>
list(map(f1,l1))
#연습해 볼까요?
# 하나의 숫자를 전달받을거에요. 10보다 크면 3을 곱하고, 작거나 같으면 2를 곱한 결과를 리턴
def f3(x):
if x > 10:
return x*3
else:
return x*2
l2 = [3,5,7,11]
list(map(f3,l2))