꾸준히 하고싶은 개발자

chapter05 본문

python

chapter05

프라우스 2022. 9. 6. 21:21

함수

  • 함수(function) : 어떤 일을 수행하는 코드의 덩어리, 또는 코드의 묶음
  • 함수의 장점
    필요할 때마다 호출 가능
    논리적인 단위로 분할 가능
    코드의 캡슐화 

함수의선언

  1. def : ‘definition’ 줄임말로, 함수를 정의하여 시작한다는 의미이다.
  2. 함수 이름 : 함수 이름은 개발자가 마음대로 지정할 있지만, 파이썬에서는 일반적으로 다음과 같은 규칙을 사용한

    1)소문자로입력한다.

    2)띄어쓰기를 할 경우에는 _기호를 사용한다 ex)save_model

    3)행위를 기록하므로 동사와명사를 함께 사용하는 경우가 많다.ex)find_number

    4)외부에 공개하는 함수일 경우, 줄임말을 사용하지않고 짧고 명료한 이름을 정한다.

  1. 매개변수(parameter) : 함수에서 입력값으로 사용하는 변수를 의미하며, 1 이상의 값을 적을 있다.
  2. 수행문 : 수행문은 반드시 들여쓰기한 코드를 입력해야 한다. 수행해야 하는 코드는 일반적으로 작성하는 코드와 같다. if for 같은 제어문을 사용할 수도 있고, 고급 프로그래밍을 하게 되면 함수 안에 함수를 사용하기도 한다함수의 형태

함수의 호출방식

  • 함수 밖에 있는 변수 x 메모리 주소와 함수 안에 있는 변수 x 메모리 주소가 같은지 다른지 확인할 필요가 있다. 
  • 함수 안에 변수가 인수로 들어가 사용될 , 변수를 호출하는 방식을 전통적인 프로그래밍에서는 다음과 같이 크게 가지로 나눈다.

  • 파이썬은 객체의 주소가 함수로 넘어간다는 뜻으로, 객체 호출(call by object reference) 명명되는 방식을 사용한다. 파이썬에서는 새로운 값을 할당하거나 해당 객체를 지울 때는 영향을 주지 않고, 단순히 해당 객체에 값을 추가할 때는 영향을 준다.

변수의 사용범위

  • 변수의 사용 범위(scoping rule) : 변수가 코드에서 사용되는 범위
  • 지역 변수(local variable) : 함수 안에서만 사용
  • 전역 변수(global variable) : 프로그램 전체에서 사용

  • 수식이 팩토리얼(factorial) 함수이다. 정확히는 ‘n!’ 표시하면 n! = n × (n - 1)! 선언할 있다. 자신의 숫자에서 1 빼면서 곱하는 형식이다. 보통은 점화식이라고 한다.

함수의 인수

  • 키워드 인수(keyword arguments) : 함수에 입력되는 매개변수의 변수명을 사용하여 함수의 인수를 지정하는 방법이다.
    • 디폴트 인수(default arguments) : 매개변수에 기본값을 지정하여 사용하고, 아무런 값도 인수로 넘기지 않으면 지정된 기본값을 사용하는 방식이다

가변인수

  • 함수의 매개변수 개수가 정해지지 않고 진행해야 하는 경우가 있다. 이때 사용하는 것이 바로 가변 인수(variable-length arguments)이다.
  • 가변 인수는 *(asterisk라고 부름) 표현할 있는데, * 파이썬에서 기본적으로 곱셈 또는 제곱 연산 외에도 변수를 묶어 주는 가변 인수를 만든다

키워드 가변인수

  • 키워드 가변 인수(keyword variable-length arguments) 매개변수의 이름을 따로 지정하지 않고 입력하는 방법으로, 이전 가변 인수와는 달리 * 2 사용하여 함수의 매개변수를 표시한다.
  • 입력된 값은 튜플 자료형이 아닌 딕셔너리 자료형(dictionary type)으로 사용할 있다. 
  • 키워드 가변 인수는 반드시 모든 매개변수의 마지막, 가변 인수 다음에 선언되어야 한다.

좋은코드

  • 가독성 좋은 코드를 작성하기 위해서는 여러 가지가 필요하지만, 일단 여러 사람의 이해를 돕기 위한 규칙이 필요하다. 프로그래밍에서는 규칙을 일반적으로 코딩 규칙(coding convention)이라고 한다.

코딩규칙

  • 들여쓰기는 4 스페이스
  • 줄은 최대 79자까지
  • 불필요한 공백은 피함
  • 파이썬에서는 이러한 규칙 파이썬 개발자가 직접 정한 것이 있다. 이를 (PEP 8Python Enhance Proposal 8)이라고 하는데, 이는 파이썬 개발자들이 앞으로 필요한 파이썬의 기능이나 여러 가지 부수적인 것을 정의한 문서이다.
  • = 연산자는 1 이상 띄우지 않는다
  • 주석은 항상 갱신하고, 불필요한 주석은 삭제한다.
  • 소문자 l, 대문자 O, 대문자 I 사용을 금한다. 

'python' 카테고리의 다른 글

python 입력함수 및 형변환하기  (0) 2022.12.26
자료구조  (0) 2022.09.13
문자열  (0) 2022.09.06
chapter04  (0) 2022.09.06