일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 숫자 형식
- 생성자
- 페이지분석
- 자바 예외
- 크롤링 오류
- 함수
- DoitSQL
- 배열 예제
- 웹 브라우저 전쟁
- 데이터베이스
- R1C3
- dbms
- DoIt
- 자바 오류
- DoitSQL입문
- 배열 3요소
- html
- 크롤링
- SQL입문
- 예제
- 우아한테크
- 숫자형식오류
- SQL
- 웹브라우저 수용도
- Doit입문SQL
- 함수 선언
- HTML역사
- 키-값 데이터베이스
- 예외
Archives
- Today
- Total
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 숫자 형식
- 생성자
- 페이지분석
- 자바 예외
- 크롤링 오류
- 함수
- DoitSQL
- 배열 예제
- 웹 브라우저 전쟁
- 데이터베이스
- R1C3
- dbms
- DoIt
- 자바 오류
- DoitSQL입문
- 배열 3요소
- html
- 크롤링
- SQL입문
- 예제
- 우아한테크
- 숫자형식오류
- SQL
- 웹브라우저 수용도
- Doit입문SQL
- 함수 선언
- HTML역사
- 키-값 데이터베이스
- 예외
Archives
- Today
- Total
프로그래밍
[Python] 사용자 함수 본문
728x90
반응형
사용자 함수
사용자가 직접 만든 함수로
def 키워드를 통해 새로운 함수를 정의할 수 있다
# 함수 정의
def 함수명(매개변수):
본문
return 반환값
# 함수 호출
변수 = 함수명(인수)
함수명()
변수 = 함수명()
변수 = 함수명(인수)
print(함수명())
인수와 매개변수
# 인수가 정해진 함수
def introduce(name, age):
print('내 이름은 {}이고, 나이는 {}살입니다.'.format(name, age))
introduce('james', 25)
# 가변 매개변수를 인수로 가지는 함수
def show():
for item in args:
print(item)
show('python') # show 함수 호출: 인수 1개
show('happy', 'birthday') # show 함수 호출: 인수 2개
함수로 전달해야 하는 인수가 개수가 정해지지 않아도 매개변수를 선언할 수 있다
이를 가변 매개변수라고 한다
가변 매개변수를 만드는 키워드는 애스터리스크(*)이다
# 디폴트 매개변수를 가지는 함수
def greet(message='안녕하세요'):
print(message)
greet('반갑습니다') # 반갑습니다
greet() # 안녕하세요
더보기
디폴트 매개변수를 사용할때의 주의사항
# 오류코드
def greet(message='안녕하세요', name):
print('{}님 {}'.format(name, message))
greet('김철수')
위 코드에서 message는 디폴트 값 '안녕하세요'를 사용하고 name에 '김철수'가 전달되는 것처럼 보인다
하지만 '김철수'라는 인수를 매개변수 message에 저장하기 때문에 name에 전달되는 값이 없다
# 오류 해결코드
def greet(name, message='안녕하세요'):
print('{}님 {}'.format(name, message))
greet('김철수')
항상 디폴트값을 가지는 매개변수는 뒤에 배치하는 게 좋다
반환값
# 반환값이 있는 함수
def address():
str = '우편번호 12345\n'
str += '서울시 영등포구 여의도동'
return str
print(address())
# 우편번호 12345
# 서울시 영등포구 여의도동
# 다중 반환 함수
def calculator(*args):
return sum(args), sum(args)/len(args), max(args), min(args)
a, b, c, d = calculator(1, 2, 3, 4, 5)
print('합계', a)
print('평균', b)
print('최댓값', c)
print('최소값', d)
파이썬은 하나의 반환값뿐만 아니라 여러 개의 반환값도 처리할 수 있다
정확히는 반환값이 4개인 것처럼 보이지만
반환값 4개를 1개의 튜플로 만들어서 반환하는 형태이다
지역변수와 전역변수
지역변수(local variable)는 함수 내부에서 선언한 변수이다
함수 외부에서는 지역변수에 접근할 수 없다
전역변수(global variable)는 함수 외부에서 선언한 변수이다
함수 내부와 외부에서 모두 사용할 수 있다
# 지역 변수를 단순히 참조만 하는 경우
>>> a = 0
>>> def f():
print(a) # 함수 f() 내부에서 전역변수 a를 참조
>>> f()
0
>>> print(a) # 함수 f() 외부에서 전역변수 a를 참조
0
위의 경우에는 단순 참조이므로 바로 사용하면 된다
# 전역 변수의 값을 변경하는 경우
>>> a = 0
>>> def f():
global a # 전역변수 a를 사용
a = 10 # 전역변수 a의 값을 변경
>>> f() # 함수 f()를 실행
>>> print(a) # 전역변수의 변경된 값 확인
10
변수 a가 전역변수임을 알리는 global a를 생략하면
a는 전역변수가 아닌 지역변수가 되므로 전역변수 a의 값은 변경되지 않는다
728x90
반응형
'Python > 파이썬 기초' 카테고리의 다른 글
[Python] 파일 입출력 (0) | 2023.11.07 |
---|---|
[Python] 모듈과 import (0) | 2023.11.07 |
[Python] 메서드 (0) | 2023.11.06 |
[Python] 내장함수 (0) | 2023.11.06 |
[Python] 파이썬의 제어문 (0) | 2023.11.05 |
Comments