일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 배열
- Tornado
- 알고리즘
- r script
- r
- 오픈한글
- Python
- 이클립스
- 저지
- MongoDB
- 프레임워크
- mariadb
- 연동
- BAEKJOON
- online
- 자바스크립트
- Judge
- spring
- 연결
- API
- Framework
- OrientDB
- 설치
- 토네이도
- 백준
- ubuntu
- 자료형
- Java
- 파이썬
- AWS
- Today
- Total
맛동산
파이썬 함수_이론 본문
파이썬 함수는 def func_name(a, b): 처럼 def로 선언하고 func_name(함수 이름)을 정의해주고 (a, b)처럼 입력값을 정의해주면 된다.
입력값은 def func_name():, def func_name(a, b):, def func_name(a, *args):, def func_name(a, b='초기값'): 같은 여러가지 형식으로 정의할 수 있다.
*args같은 경우엔 입력값이 1일수도, 1과 2일수도, 1과 2와 3일 수도있는 가변적인 상황에 사용된다. args는 임의로 정의한것이고 * 표시가 그 역할을 한다.
만약
def calculator(choice, *args):
result = 0
if choice == '더하기':
for i in args:
result += i
.
.
.
return result
라고 정의한다면 calculator('더하기',1,2,3) 또는 calculator('더하기',1,6,10,22,40,50)와 같이 가변적인 상황에서도 수행할 수 있는것이다.
JAVA에서의 오버라이딩과 비슷하다고 생각할 수 있다.
또한
def whoareyou(name, age, sex='남자'):
print(name + age + sex)
라고 정의한다면 whoareyou('맥두날', '20')를 호출했을때, sex부분에 초기값으로 설정한 '남자'가 나온다.
주의해야할것은 def whoareyou(name, sex='남자', age)처럼 순서가 바뀌면 whoareyou('맥두날', '20')를 호출했을때 오류가 난다는 것이다.
당연하게도 '맥두날'이 name인건 알지만 '20'을 sex에 대입해야할지 age에 대입해야할지 알 수 없기 때문이다.
'파이썬 > 기초' 카테고리의 다른 글
파이썬 파일 입출력_파일생성 (0) | 2016.10.07 |
---|---|
파이썬 함수_실습 (0) | 2016.10.06 |
파이썬 제어문_for문 (0) | 2016.10.06 |
파이썬 제어문_while문 (0) | 2016.10.06 |
파이썬 제어문_IF문 (0) | 2016.10.06 |