프로그램을 만들 때 반복되는 문장을 하나의 기능으로 묶어서 다시 사용할 수 있도록 구조화하면 편리합니다. 그렇게 코드를 묶어서 새롭게 정의한 것을 함수라고 합니다. 함수는 원할 때 "호출"해서 사용할 수 있으며, def키워드를 사용해서 정의할 수 있습니다. def는 definition의 약자로 뜻은 정의입니다. 그래서 함수를 정의한다라고 표현합니다. 함수 또한 콜론":"과 들여쓰기를 잘해야 됩니다.
함수
함수를 사용할 때는 매개변수와 인자를 잘 이해해야 합니다. 매개변수는 입력된 값을 받는 변수이고, 인자는 실제로 입력한 값입니다. 함수를 실행하고 return을 만나면 함수가 끝나므로, 그 밑에 다른 코드가 있다고 해도 실행이 안됩니다.
- def, return 사용함
def test(name): ### name이 매개변수
print(name,"ㅎㅎ")
test("초보블로거") ### "초보블로거"가 인자
초보블로거 ㅎㅎ
### return 사용
def add(a,b): ### a,b가매개변수
return a+b*2 ### 값을내보내줌
a=add(4,6) ### a=4,b=6값을 넣고, 결과를 a에 저장
print(a) ### a값 출력
16
### 필요한 매개변수만 호출해서 사용가능
def add(a,b):
return b*2
print("실행") ### return밑에있는 함수는 실행안됨
a=add(4,6)
print(a)
12
*args
매개변수를 정하지 못했을 때 사용합니다. 여러 개의 인자를 받아서 사용하며, 튜플로 처리됩니다.
람다함수
람다함수는 이름이 없는 함수라는 뜻입니다. "lambda 매개변수: 코드 작성" 이런 식으로 사용 가능하며, lambda함수는 변수에 설정해서 사용 가능합니다.
- lambda 사용함
a라는 변수에 lambda라는 키워드를 넣고, 매개변수를 b, c라고 설정합니다. lambda에 작성한 코드는 b+c*5입니다. 여기에 print() 함수를 써서 a를 출력하는데 값 3과 5를 넣습니다. 그럼 인자 3과 5는 매개변수 b와 c에 들어갑니다. 결과는 3+5*5를 계산해서 출력하게 됩니다.
a=lambda b,c:b+c*5
print(a(3,5))
28
지역변수와 전역변수
지역변수는 함수 내에서 쓰이는 변수이고, 전역변수는 외부에서 선언된 변수입니다. 지역변수는 함수가 끝나면 사라지는 방면 전역변수는 함수가 끝나도 살아있습니다. 또한 전역변수는 global 키워드를 사용해서 함수 내에서 전역변수의 값을 변경할 수 있습니다.
- def, globla, print() 사용함
a=15 ### 전역변수
def bc():
a=20 ### 지역변수
print(a)
bc()
print(a)
20 ### bc에 있는a값출력
15 ### 밖에있는 a값출력
### global 사용
a=15 ### 전역변수
def bc():
global a ### 전역변수선언
a=20 ### 전역변수도20으로 변경됨
print(a)
bc()
print(a)
20
20
'파이썬' 카테고리의 다른 글
파이썬 공부하기 기초부터 시작 (모듈과 패키지) (0) | 2022.07.08 |
---|---|
파이썬 공부하기 기초부터 시작 (클래스) (0) | 2022.07.07 |
파이썬 기초공부 print() 사용방법 (0) | 2022.07.05 |
파이썬 공부하기 기초부터 시작 (제어문,반복문) (0) | 2022.07.04 |
파이썬 공부하기 기초부터 시작 (자료형) 2탄 (0) | 2022.07.02 |
댓글