반응형
파이썬 함수 구조
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
<수행할 문장3>
......
매개변수(Parameter)와 인자(Argument)
매개변수: 함수의 정의 부분에 나열되어 있는 변수
인자: 함수를 호출할 때 전달 되는 실제 값
def print_n_times(value, n): # valu, n은 매개변수
for i in range(n):
print(value)
print_n_times("안녕하세요", 5) # "안녕하세요", 5는 인자
강의 정리
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
# 안녕하세요를 3변 출력하는 함수
def print_3_times():
print("안녕하세요")
print("안녕하세요")
print("안녕하세요")
print_3_times()
print()
# 반복문 함수를 이용하여 안녕하세요를 5번 출력하기
def print_n_times(value, n):
for i in range(n):
print(value)
print_n_times("안녕하세요", 5)
print()
# def 함수이름(매개변수,매개변수,...,*가변매개변수):
"""
# 에러 -> 기본 매개변수(n=2)는 가변 매개변수 앞에 올 수 없음
def print_n_times(n=2, *values): # 에러
for i in range(n):
# values는 리스트처럼 활용한다
for j in values:
print(j)
# 줄바꾸기위함
print()
print_n_times("야호~!", "즐거운", "목요일입니다") # 문자열이 n에 대입되려고함
"""
# 기본 매개변수를 바꾸고 싶다
def print_n_times(*values, n=2):
for i in range(n):
# values는 리스트처럼 활용한다
for j in values:
print(j)
# 줄바꾸기위함
print()
print_n_times("야호~!", "즐거운", "목요일입니다", 3) # 3까지 출력 되어버린다
# 기본 매개변수를 지정해서 값을 바꾼다
def print_n_times(*values, n=2):
for i in range(n):
# values는 리스트처럼 활용한다
for j in values:
print(j)
# 줄바꾸기위함
print()
print_n_times("야호~!", "즐거운", "목요일입니다", n=3) # 3번 출력된다!
# 매개변수 예제
def test(a, b=10, c=100):
print(a+b+c)
test(10,20,30)
test(a=10,b=100,c=200)
test(b=100,c=200,a=10)
test(10,c=10) # 지정안할때는 a 위치 바뀌면안됨
print()
# return 예제
def sum_all(start, end):
# 리턴할 변수 선언
output=0
for i in range(start, end+1):
output +=i
return output
print("0 to 100: ", sum_all(0,100))
print("0 to 1000: ", sum_all(0,1000))
print("50 to 100: ", sum_all(50,100))
print()
# 방정식
def f(x):
return 2*x+1
print(f(10))
def f(x):
return x**2+2*x+1
print(f(10))
print()
# 매개변수로 받은 값을 모두 곱하기
def mul(*values):
output=1
for i in values:
output *= i
return output
print(mul(5,7,9,10))
print()
# 가변 매개변수는 튜플 형식
def mul(*values):
print(values)
print(values)
print(values)
print(values)
mul(5,7,9,10)
---------------
(result)
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
야호~!
즐거운
목요일입니다
3
야호~!
즐거운
목요일입니다
3
야호~!
즐거운
목요일입니다
야호~!
즐거운
목요일입니다
야호~!
즐거운
목요일입니다
60
310
310
30
0 to 100: 5050
0 to 1000: 500500
50 to 100: 3825
21
121
3150
(5, 7, 9, 10)
(5, 7, 9, 10)
(5, 7, 9, 10)
(5, 7, 9, 10)
|
cs |
반응형
'Language > Python' 카테고리의 다른 글
Python 강의 정리 8. if __name__ == "__main__": (0) | 2021.05.03 |
---|---|
Python 강의 정리 7. 튜플, 람다(map(),filter() 예제) (0) | 2021.05.03 |
Python 강의 정리 5. 리스트 뒤집기, enumerate() 함수 (0) | 2021.05.02 |
Python 강의 정리 4. 반복문(for문,while문), 딕셔너리 (0) | 2021.05.02 |
Python 강의 정리 3. 리스트 (0) | 2021.05.02 |