ursobad
ursobad
ursobad
전체 방문자
오늘
어제
  • 분류 전체보기 (116)
    • Emotion (35)
      • 파이썬 (10)
      • 문제 (10)
      • 인공지능 기초 (15)
    • Best of the Best (3)
    • Hacking (58)
      • HackCTF (12)
      • DreamHACK (7)
      • Webhacking.kr (19)
      • Root Me (6)
      • HTB (5)
      • 기타 (7)
      • 리버싱 소수전공 (2)
    • 기능반 (16)
      • 2과제 (14)
      • 3과제 (2)
    • 기록 (3)
    • 짧은 글들 (0)
    • 기타 (1)
    • Zombie (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 의사결정트리
  • OpenCV
  • Bob
  • BoB 자기소개서
  • 앙상블
  • 123
  • 함수
  • 파이썬
  • BoB 11기
  • BoB 필기
  • 머신러닝
  • BoB 질문
  • 백준
  • KNN
  • 구독자 전용 다시보기
  • BoB 자기소개
  • BoB 자소서
  • Python
  • 얼굴검출
  • BoB 면접

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ursobad
Emotion/파이썬

함수_2

Emotion/파이썬

함수_2

2020. 8. 26. 15:46

함수에서 두개 이상의 값 반환하기

구조

def 함수이름(매개변수): return 반환값1, 반환값2


ex)

def add_sub(a,b): return a+b, a-b x,y = add_sub(20,10) print(x) print(y) --출력값-- 30 10 

첫번째 반환값은 첫번째 변수에, 두번째 반환값은 두번째 변수에 들어가는 것을 알 수 있다.

위치인수

위치인수
- 함수에 인수를 순서대로 넣는 방식

ex)

def asdf(a,b,c,d): print(a) print(b) print(c) print(d) asdf(10,20,30,40) --출력값-- 10 20 30 40

언패킹

인수를 순서대로 넣을때 리스트나 튜플을 사용할 수 있다.

구조

def 함수이름(*리스트): 내용 def 함수이름(*튜플): 내용


ex)

def asdf(*a): for i in a: print(i) list1 = [1,2,3,4,5] asdf(*list1) --출력-- 1 2 3 4 5

가변인수

-인수의 개수가 정해지지 않은 인수

구조

def 함수이름(*매개변수): 내용

매개변수 앞에 *을 붙여서 만든다.

ex)

def print_num(*args): for i in args: print(i) print_num(10) print() print_num(10,60,50,20) --출력-- 10 10 60 50 20

변수 하나를 넣어도 되고 여러개를 넣어도 된다.

키워드 인수

-각 변수의 용도를 알기 쉽게 표현한 인수
ex)

def per_info(name, age, address): print('이름 :',name) print('나이 :',age) print('주소 :',address) per_info('파이썬', 15, '서울시') --출력-- 이름 : 파이썬 나이 : 15 주소 : 서울시

각 인수의 용도가 뭔지 한눈에 알 수 있음
항상 인수의 용도와 순서를 맞춰야함

-함수(키워드 = 값)
키워드 인수는 항상 용도와 순서를 맞추어야하지만 함수(키워드 = 값)을 이용하면 용도만 기억해도 됨
ex)

def per_info(name, age, address): print('이름 :',name) print('나이 :',age) print('주소 :',address) per_info(age = 15, name = '파이썬', address='서울시') --출력-- 이름 : 파이썬 나이 : 15 주소 : 서울시

순서를 지키지 않아도 값이 제대로 출력된다.

키워드 인수와 딕셔너리 언패킹

딕셔너리는 {키:값} 의 형태로 되어있기때문에 한번 언패킹하면 키값이 언패킹된다
값을 얻으려면 **을 사용하여 두번 언패킹 해야한다

구조

함수(**딕셔너리) 


ex)

def per_info(name, age, address): print('이름 :',name) print('나이 :',age) print('주소 :',address) a = {'name':'파이썬', 'age':15, 'address':'서울시'} per_info(**a) --출력-- 이름 : 파이썬 나이 : 15 주소 : 서울시

딕셔너리의 키와 함수의 키워드 인수의 이름을 똑같이 설정하지 않으면 오류가 난다.

def per_info(name, age, address): print('이름 :',name) print('나이 :',age) print('주소 :',address) a = {'name':'파이썬', 'age':15, 'address':'서울시'} per_info(*a) --출력-- 이름 : name 나이 : age 주소 : address

언패킹을 한번만하면 키를 사용 할 수 있다

매개변수 초기값 지정

구조

def 함수이름(매개변수 = 값): 내용


ex)

def per_info(name, age, address = '비공개'): print('이름 :',name) print('나이 :',age) print('주소 :',address) per_info('파이썬', 15) print() per_info('파이썬', 15, '서울시') --출력-- 이름 : 파이썬 나이 : 15 주소 : 비공개 이름 : 파이썬 나이 : 15 주소 : 서울시

초기값을 지정해준 매개변수는 비워두면 초기값이 출력된다
초기값이 지정되있더라도 값을 넣으면 해당 값이 출력된다.

#초기값이 지정된 매개변수 다음에는 초기값이 없는 매개변수가 올 수 없다
#초기값이 지정된 매개변수는 뒤쪽에 몰아서 넣는것이 좋다.

재귀호출

재귀호출이란?
-함수 내부에서 함수가 자기 자신을 또다시 호출하는 행위를 의미한다. 이러한 재귀 호출은 자기가 자신을 계속해서 호출하므로, 끝없이 반복한다.

ex)

def asdf(): print('aa') asdf() asdf()

asdf라는 함수속에서 계속 adsf를 호출하기때문에 계속 aa가 출력된다
파이썬의 최대 재귀 깊이는 1000이기때문에 asdf가 1000의 깊이를 넘기면 오류가 난다.
고로 재귀호출의 종료조건을 만들어 주는 것이 좋다.

ex)

def asdf(n): #종료조건 if n<=0: return print('aa', n) n-=1 asdf(n) asdf(5) --출력-- aa 5 aa 4 aa 3 aa 2 aa 1

'Emotion > 파이썬' 카테고리의 다른 글

클래스_2  (0) 2020.09.02
클래스_1  (0) 2020.09.01
파이썬 함수_1  (0) 2020.07.08
파이썬 반복문  (0) 2020.07.07
파이썬_3  (0) 2020.07.01
  • 함수에서 두개 이상의 값 반환하기
  • 위치인수
  • 언패킹
  • 가변인수
  • 키워드 인수
  • 키워드 인수와 딕셔너리 언패킹
  • 매개변수 초기값 지정
  • 재귀호출
'Emotion/파이썬' 카테고리의 다른 글
  • 클래스_2
  • 클래스_1
  • 파이썬 함수_1
  • 파이썬 반복문
ursobad
ursobad
ursobadursobad 님의 블로그입니다.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.