parameter(매개변수)
positional parameter(위치 매개변수)
- 가장 기본적인 매개변수이다.
- 함수를 호출할 때 순서대로 데이터(인자)를 넘겨줘야 한다.
- 다른 매개변수와 함께 쓸 때는 항상 맨 앞에 써야 한다.
def my_func(a, b): print(a, b)
인자가 1, 2가 순서대로 a와 b에 넘겨짐을 확인할 수 있다.
my_func(1, 2)
### default parameter(기본 매개변수)
- 매개변수의 default값
- 함수를 정의할 때 매개변수의 기본 값을 지정할 수 있다.
```python
# default parameter
# content 매개변수의 default값 지정
def info(title, content='no contents'):
print(f'제목 : {title}')
print(f"내용 : {content}")
# content 인자에 값을 지정하지 않았기 때문에 default값 출력
info("test")
keyword parameter(키워드 매개변수)
- 함수 호출 시에 키워드를 붙여 호출한다
- 매개변수의 순서를 지키지 않아도 된다
# keyword parameter def info(title, content): print(f'제목 : {title}') print(f"내용 : {content}")
키워드를 붙여 호출하기 때문에 매개변수의 순서를 지키지 않아도 된다
info(content="None", title="test")
### positional variable length parameter(위치 가변 매개변수)
- 가변 매개변수 = 개수가 정해지지 않은 매개변수
- 매개변수 앞에 *이 붙는다(tuple)
```python
# positional variable length parameter
# 가변 매개변수 = 개수가 정해지지 않은 매개변수
# 매개변수 앞에 *이 붙음을 확인할 수 있다.
def fruits(*args):
for arg in args:
print(arg)
# 매개변수들이 tuple로 묶여서 args로 들어가게 됨
fruits('apple', 'orange', 'mango')
keyword variable length parameter(키워드 가변 매개변수)
- 가변 매개변수 = 개수가 정해지지 않은 매개변수
- 매개변수 앞에 **이 붙는다(dictionary)
# keyword variable length parameter(키워드 가변 매개변수) # 가변 매개변수 = 개수가 정해지지 않은 매개변수 # 매개변수 앞에 **이 붙음을 확인할 수 있다. # kwargs : keyword argument의 줄임말 def fruit_price(**kwargs): # dictionary for key, value in kwargs.items(): print(f"{key} : {value}")
매개변수들이 dictionary로 묶여서 kwargs로 들어가게 됨
fruit_price(apple=1200, orange=2900, mango=3100)
### 매개변수 작성 순서
> 위치 - 기본 - 위치 가변 - 키워드 - 키워드 가변
```python
def example_func(positional, default="default", *args, **kwargs):
return -1
lambda(람다 함수)
- 이름을 지을 필요가 없는 간단한 형태의 함수
- 다른 함수의 인자(argument)로 넣을 수 있다
- 코드가 간결해지고, 메모리가 절약되는 장점이 있다
람다 함수의 정의
# define lambda
# lambda parameter : result
plus_one = lambda x: x + 1
# call lambda
print((lambda x: x + 1)(2))
print(plus_one(1))
람다 함수와 조건문
# lambda와 조건문
# lambda로 if statement 사용 시, else statement까지 필수적으로 사용해야함
print((lambda x: True if x > 0 else False)(3))
map, filter 함수
map 함수 사용법
# map(함수, 순서가 있는 자료형)
map(int, ["3", "4", "5", "6"])
# return : map object
list(map(int, ["3", "4", "5", "6"]))
map 함수 활용
# 리스트 각 요소 공백 지우기
def strip_all(x):
return x.strip()
items = [' el1', ' el2 ']
# map(함수, 순서가 있는 자료형)
items = list(map(strip_all, items))
# 람다 함수와 함께 활용
items = [' el1', ' el2 ']
items = list(map(lambda x: x.strip(), items))
filter 함수 사용법
# filter(함수, 순서가 있는 자료형)
def func(x):
return x < 0
# return : filter object
list(filter(func, [-3, -2, 0, 5, 7]))
'CS' 카테고리의 다른 글
[JavaScript] JavaScript의 객체 (0) | 2022.10.23 |
---|---|
[TypeScript] TypeScript란? (0) | 2022.10.23 |
[JavaScript] 자바스크립트의 타입 변환 (0) | 2022.10.08 |
[Go] Go의 연산자 (0) | 2022.10.04 |
[JavaScript] 자바스크립트의 제어문 (0) | 2022.10.04 |
댓글