[Python] 함수(Function)정의

2016. 6. 16. 19:45·공부/python

파이썬 함수(Function)

 

함수정의

 

def 이름 (매개변수 나열없으면 생략 가능) :

내용...

return 데이터 없으면 생략 가능

 

함수호출

 

다른 파일에 있는 경우 :

import 파일이름

파일이름.함수(매개변수)

 

같은 파일에 있는 경우 :

함수(매개변수)

 

연습1 - 함수 만들어서 호출해보기..

(함수 : disp.py[기본경로] , inFolder[기본경로.folder])

(함수호출 : funcTest[기본경로]- 임포트 위치 참고!)

* 파이썬은 자료형이 없기 때문에 함수에 매개변수를 어떤 자료형을 줘야 할지 헤깔릴 수가 있겠음..

 

↑ 위에서부터 inFolder.py, disp.py, funcTest.py

 

실행결과

 

 

*함수호출시 1MB의 스택을 만든다.

plus(int, int)라는 함수가 있다고 해보자.

 

1- result = plus(10,30)  result =plus(result,50)

2- result = plus(plus(10,30),50)

 

1번과 2번의 경우 모두 값은 90으로 동일하다

1번의경우 스택 하나 호출 후 반환 또 호출 후 반환을 하게 되므로 각각 1MB씩 사용함.

2번의경우 스택 하나를 호출 후 다시 하나를 호출하게 되어 순간 2MB의 메모리를 사용하게 된다.

 

현재 PC는 메모리가 매우 크기때문에 신경쓰지 않을 수도 있곘지만, 웹서비스같은 경우 이 함수를 쓰는 사람이 몰리면 순식간에 큰 메모리를 사용하게 될 수도 있다고 한다. 이를 신경써서 코딩하면 좋을 것 같다.

 

 

----------------

 

한 가지 더 신기했던 점

java에서는 자료형을 반환하는 함수 선언시 모든 경우에 return을 해줘야 했다

ex)if, else if 문 모두에 return 자료형을 사용해야함.

하지만 python에서는 원하는 경우엠나 return을 해주고 그 외의 경우에는 None을 반환하는 것 같다.

 

           

↑선언된 함수에는 분명히 else에 대한 return값이 없지만 오류가 나지 않는다.

 

 

 

 

 

 

반응형
'공부/python' 카테고리의 다른 글
  • [python] 예외처리
  • [python] 자료형 _List,Stack
  • [python] 반복문, 조건문 연습(for,if,break)
  • [python] 제어문과 반복문
JangGiraffe
JangGiraffe
안녕하세요~ 반갑습니다! 머무시면서 즐거운 시간 보내시길 바랍니다. 오픈카톡 : https://open.kakao.com/o/sYEBs0uh
  • JangGiraffe
    giraffe1010
    JangGiraffe
  • 전체
    오늘
    어제
    • 분류 전체보기 (390)
      • 공부 (155)
        • AI (3)
        • Spring (10)
        • JAVA (31)
        • python (6)
        • 기타 (12)
        • 메세지 (3)
        • Jsp,Servlet (4)
        • HTML (12)
        • Javascript (6)
        • C#,ASP.NET (2)
        • WEB (2)
        • DB (11)
        • Android (18)
        • [BaaS]Parse.com (4)
        • 졸업프로젝트 (4)
        • AWS,네이버클라우드플랫폼 (2)
        • Ubuntu (6)
        • maven (1)
        • 자료구조 (15)
        • 서버 (3)
      • 게임 (0)
      • 관심 (22)
        • 사진 (1)
        • 패스오브엑자일(POE) (1)
        • 월드오브워크래프트 (4)
        • 블로그 (7)
        • 이슈 (1)
        • IT (5)
        • 기타 게임 (3)
      • 자료 (2)
        • 면접 (2)
      • 먹거리 (103)
        • 음식리뷰 (99)
        • 카페리뷰 (4)
      • 여행 (35)
        • 국내여행 (23)
        • 해외여행 (12)
      • 생활정보 (68)
        • 생활정보 (33)
        • 상품리뷰 (34)
        • 세미나후기 (1)
      • 끄적끄적 (5)
        • 영화후기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 문의(카톡)
    • 방명록
  • 링크

    • 2zino
    • wildbluffer
  • 공지사항

  • 인기 글

  • 태그

    제주도맛집
    강서구맛집
    오징어난전
    월드오브워크래프트
    김포맛집
    시즈오카
    양양 가볼만한 곳
    돈벌기
    홍대맛집
    마곡맛집
    맛집
    왕십리맛집
    강원도여행
    가양맛집
    자취
    와우
    발산맛집
    발산 회식
    떡볶이
    ChatGPT
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JangGiraffe
[Python] 함수(Function)정의
상단으로

티스토리툴바